jQuery 對HTML的操作(二)

文章目錄

    • 一、jQuery獲取、設置HTML標簽的內容和屬性
          • 獲得內容 - text()、html() 以及 val()
          • 獲取屬性 - attr(),prop()
    • 二、增刪 HTML 的內容
          • 增加
          • 刪除
    • 三、操作CSS
          • addClass 添加
          • removeClass 刪除
          • toggleClass 切換
          • css 獲取與設置
          • 所有操作html、css方法參考 ☆
    • 四、操作元素和瀏覽器窗口的尺寸
    • 五、遍歷DOM元素
          • 父輩查找
          • 同輩查找
          • 后代查找
          • 過濾查找
          • 所有遍歷方法參考 ☆

一、jQuery獲取、設置HTML標簽的內容和屬性

tips:括號內無參則是獲取,有參則是設置

  • 獲得內容 - text()、html() 以及 val()
    • text() - 設置或返回所選元素的文本內容
    • html() - 設置或返回所選元素的內容(包括 HTML 標記)
    • val() - 設置或返回表單字段的值
    testValue = $("#test").val();	// 獲取
    $("#test").val("newValue");	// 設置
    $("#test2").html("<b>Hello world!</b>");	// 設置html
    

    回調函數:回調函數有兩個參數:被選元素列表中當前元素的下標,以及原始(舊的)值。然后以函數新值返回你希望使用的字符串。

     $("#test1").text(function(i,origText){return "舊文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; });
    

  • 獲取屬性 - attr(),prop()
    url = $("#runoob").attr("href")	// 獲取href屬性(得到地址)
    $("#runoob").attr("href","www.baidu.com")	// 設置值
    $("#runoob").attr({"href":"www.baidu.com","title":"newTitle"})	// 同時設置多個屬性
    

    回調函數:有兩個參數:被選元素列表中當前元素的下標,以及原始(舊的)值。然后以函數新值返回你希望使用的字符串。

    $("#runoob").attr("href", function(i,origValue){return origValue + "/jquery"; });
    

    tips:attr與prop
    prop()函數的結果:
    1.如果有相應的屬性,返回指定屬性值。
    2.如果沒有相應的屬性,返回值是空字符串。
    attr()函數的結果:
    1.如果有相應的屬性,返回指定屬性值。
    2.如果沒有相應的屬性,返回值是 undefined。

    對于HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。
    對于HTML元素我們自己自定義的DOM屬性,在處理時,使用 attr 方法。
    具有 true 和 false 兩個屬性的屬性,如 checked, selected 或者 disabled 使用prop()

二、增刪 HTML 的內容

  • 增加

    append() - 在被選元素的結尾插入內容
    prepend() - 在被選元素的開頭插入內容
    after() - 在被選元素之后插入內容
    before() - 在被選元素之前插入內容

    tips
    append/prepend 是在選擇元素內部嵌入。
    after/before 是在元素外面追加。

    JS實例:

    function appendText()
    {var txt1="<p>文本。</p>";              // 使用 HTML 標簽創建文本var txt2=$("<p></p>").text("文本。");  // 使用 jQuery 創建文本var txt3=document.createElement("p");txt3.innerHTML="文本。";               // 使用 DOM 創建文本 text with DOM$("body").append(txt1,txt2,txt3);        // 追加新元素
    }function afterText()
    {var txt1="<b>I </b>";                    // 使用 HTML 創建元素var txt2=$("<i></i>").text("love ");     // 使用 jQuery 創建元素var txt3=document.createElement("big");  // 使用 DOM 創建元素txt3.innerHTML="jQuery!";$("img").after(txt1,txt2,txt3);          // 在圖片后添加文本$("img").after([txt1,txt2,txt3]);        // 參數也可以是list
    }
    
  • 刪除

    remove() - 刪除被選元素(及其子元素)
    empty() - 從被選元素中刪除子元素

    可選參數:選擇器

    $("#div1").remove();	
    $("#div1").empty();
    $("p").remove(".italic");	// 刪除 class="italic" 的所有 <p> 元素
    

三、操作CSS

addClass() - 向被選元素添加一個或多個類
removeClass() - 從被選元素刪除一個或多個類
toggleClass() - 對被選元素進行添加/刪除類的切換操作
css() - 設置或返回樣式屬性

  • addClass 添加
    $("button").click(function(){$("div").addClass("important");	// 添加一個類$("h1,h2,p").addClass("blue");	// 給多個標簽添加一個類$("body div:first").addClass("important blue"); // 給標簽添加多個類
    });
    
  • removeClass 刪除
    // 刪除多個標簽二的blue類
    $("h1,h2,p").removeClass("blue");	
    
  • toggleClass 切換
    // 添加、刪除類的切換-若有則刪除,沒有則添加$("h1,h2,p").toggleClass("blue");
    
  • css 獲取與設置

    css() 方法設置或返回被選元素的一個或多個樣式屬性。

    獲取

    var backgroundColor = $("p").css("background-color");
    

    設置

    $("p").css("background-color","yellow");
    // 設置多個屬性
    $("p").css({"background-color":"yellow","font-size":"200%"});
    
  • 所有操作html、css方法參考 ☆

    菜鳥教程 - jQuery HTML / CSS 方法


四、操作元素和瀏覽器窗口的尺寸

在這里插入圖片描述

width()			—— 設置或返回元素的寬度(不包括內邊距、邊框或外邊距)
height()		—— 設置或返回元素的高度(不包括內邊距、邊框或外邊距)innerWidth()	—— 返回元素的寬度(包括內邊距)
innerHeight()	—— 返回元素的高度(包括內邊距)outerWidth()	—— 返回元素的寬度(包括內邊距和邊框)
outerHeight()	—— 返回元素的高度(包括內邊距和邊框)
$("button").click(function(){var txt="";txt+="div 的寬度是: " + $("#div1").width() + "</br>";txt+="div 的高度是: " + $("#div1").height();$("#div1").html(txt);txt+="div 寬度,包含內邊距: " + $("#div2").innerWidth() + "</br>";txt+="div 高度,包含內邊距: " + $("#div2").innerHeight();$("#div2").html(txt);txt+="div 寬度,包含內邊距和邊框: " + $("#div3").outerWidth() + "</br>";txt+="div 高度,包含內邊距和邊框: " + $("#div3").outerHeight();$("#div3").html(txt);
});

tips:width() 獲取的是 css 設置的 width 減去 padding 和 border 的


五、遍歷DOM元素

三級關系:
父輩:父、祖父、曾祖父等等
同輩:同胞(擁有相同的父)
后代:子、孫、曾孫等等。

父輩查找

parent() —— 返回被選元素的直接父元素,只會向上一級對 DOM 樹進行遍歷
parents() —— 返回被選元素的所有祖先元素,它一路向上直到文檔的根元素 ()
parentsUntil() —— 返回介于兩個給定元素之間的所有祖先元素

$(document).ready(function(){// 返回每個 <span> 元素的直接父元素var spanParent = $("span").parent();spanParent.css("color","red");	// 將每個 <span> 元素的直接父元素顏色設置為紅色// 返回所有 <span> 元素的所有祖先$("span").parents();// 所有 <span> 元素的所有祖先,并且它是 <ul> 元素$("span").parents("ul");// 返回介于 <span> 與 <div> 元素之間的所有祖先元素$("span").parentsUntil("div");
});
同輩查找

siblings() —— 返回被選元素的所有同胞元素
next() —— 返回被選元素的下一個同胞元素,該方法只返回一個元素
nextAll() —— 返回被選元素的所有跟隨的同胞元素
nextUntil() —— 返回介于兩個給定參數之間的所有跟隨的同胞元素
prev() —— 同上,只不過是向上級遍歷
prevAll()
prevUntil()

$(document).ready(function(){// 返回 <h2> 的所有同胞元素$("h2").siblings();// 返回屬于 <h2> 的同胞元素的所有 <p> 元素$("h2").siblings("p");// 返回 <h2> 的下一個同胞元素$("h2").next();// 返回 <h2> 的所有跟隨的同胞元素$("h2").nextAll();// 返回介于 <h2> 與 <h6> 元素之間的所有同胞元素$("h2").nextUntil("h6");
});
后代查找

children() —— 返回被選元素的所有直接子元素,只會向下一級對 DOM 樹進行遍歷
find() —— 返回被選元素的后代元素,一路向下直到最后一個后代

$(document).ready(function(){// 返回每個 <div> 元素的所有直接子元素$("div").children();// 返回類名為 "1" 的所有 <p> 元素,并且它們是 <div> 的直接子元素$("div").children("p.1");// 返回屬于 <div> 后代的所有 <span> 元素$("div").find("span");// 返回 <div> 的所有后代$("div").find("*");
});
過濾查找

first() —— 返回被選元素的首個元素
last() —— 返回被選元素的最后一個元素
eq() —— 返回被選元素中帶有指定索引號的元素,索引號從 0 開始,因此首個元素的索引號是 0 而不是 1

$(document).ready(function(){// 選取首個 <div> 元素內部的第一個 <p> 元素$("div p").first();// 選擇最后一個 <div> 元素中的最后一個 <p> 元素$("div p").last();// 選取第二個 <p> 元素(索引號 1)$("p").eq(1);
});

filter() —— 允許你規定一個標準。不匹配這個標準的元素會被從集合中刪除,匹配的元素會被返回
not() —— 返回不匹配標準的所有元素,not() 方法與 filter() 相反

$(document).ready(function(){// 返回帶有類名 "url" 的所有 <p> 元素$("p").filter(".url");// 返回不帶有類名 "url" 的所有 <p> 元素$("p").not(".url");
});

tips:
$(“p”).last().css(“background-color”,“yellow”);

$(“p:last”).css(“background-color”,“yellow”);
效果一樣。

$(“p”).first().css(“background-color”,“yellow”);

$(“p:first”).ss(“background-color”,“yellow”);
效果一樣。

$(“p”).not(".url");

$(“p:not(.url)”);
效果一樣。

所有遍歷方法參考 ☆

菜鳥教程 - jQuery 遍歷 方法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/278734.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278734.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278734.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

roku能不能安裝軟件_如何在Roku中使用Google Assistant

roku能不能安裝軟件As more of our devices connect to each other, it’s always nice to know that different products from different companies work together. A Chromecast isn’t expensive, but being able to use your TV directly with Google Assistant is better.…

在線建立或重做mysql主從復制架構方法(傳統模式和GTID模式)【轉】

mysql主從復制架構,是mysql數據庫主要特色之一&#xff0c;絕大多數公司都有用到。 而GTID模式是基于事務的復制模式的意思&#xff0c;發展到現在也是越來越多人用。 以前很多文章&#xff0c;介紹搭建mysql主從復制架構&#xff0c;是需要停止應用服務來做的,對于生產環境&am…

面試學習資料

1 Java面試資料總結 &#xff08;github推薦指數高&#xff09; 2 后端架構師 1. 綜合 《Java 面試題 —— 老梁 Java 面試通關要點匯總集》《Java 面試題 —— 老徐 Java 初中級準備的面試題》《Java 面試題 —— 零度 Java 面試題系列》《Java 面試題 —— 東黃的學習方法和面…

jQuery對Ajax的封裝應用(三)

文章目錄一、Ajax二、load三、ajax&#xff08;參數&#xff09;&#xff0c;get&#xff0c;set$.ajax$.ajax的get、post簡寫形式四、ajax全部方法參考 ☆一、Ajax AJAX 是與服務器交換數據的技術&#xff0c;它在不重載全部頁面的情況下&#xff0c;實現了對部分網頁的更新。…

如何使用卡巴斯基急救盤清理感染的PC

When you’re dealing with a PC that is completely infected in viruses, sometimes the best thing to do is reboot into a rescue disk and run a full virus scan from there. Here’s how to use the Kaspersky Rescue Disk to clean an infected PC. 當您要處理一臺完全…

2018.12.08 codeforces 946D. Timetable(背包)

傳送門 題意簡述&#xff1a;有一個人上n天課&#xff0c;每天有m個小時的時間安排表&#xff08;一個01串&#xff09;&#xff0c;為1表示要上課&#xff0c;否則不上課&#xff0c;求出如果可以最多翹kkk節課這nnn天在校待的總時間的最小值&#xff08;一天必須在所有課上完…

jQuery雜項進階(四)

文章目錄一、$ 的替換二、使用JSONP實現跨域三、jQuery 雜項方法、實用工具、回調對象、延遲對象參考 ☆四、jQuery 自身屬性參考 ☆五、jQuery 插件介紹和參考 ☆jQuery 樹型菜單插件(Treeview)jQuery Validate表單驗證&#xff0c;jQuery Password Validation&#xff08;密碼…

什么是WLIDSVC.EXE和WLIDSVCM.EXE,它們為什么運行?

You’re no doubt reading this article because you’re wondering what those two processes are doing cluttering up Task Manager, and also wondering why they are in capital letters. You’ve come to the right place. 毫無疑問&#xff0c;您閱讀本文是因為您想知道…

[USACO10DEC] Treasure Chest

題目鏈接 90 Points&#xff1a;智障的區間 DP……設 dp[i][j] 表示區間 [i, j] 能取的最大價值&#xff0c;但我還是 sd 地開了第三維表示先取還是后取的價值。 交上去以為能 A&#xff0c;結果 #2 開心地 MLE……一看內存&#xff0c;64MB&#xff08;把評測機吊起來打一頓&a…

工程化,模塊化,組件化,規范化

前端講究 工程化&#xff0c;模塊化&#xff0c;組件化&#xff0c;層層遞進。 一、工程化 工程化是整個工程的結構、樣式和動作分離&#xff0c;工程化是一種思想而不是某種技術&#xff08;當然為了實現工程化我們會用一些技術&#xff09;。各種規范、技術選型、項目構建優…

linux壓縮和解壓縮_Linux QuickTip:一步下載和解壓縮

linux壓縮和解壓縮Most of the time, when I download something it’s a file archive of some kind – usually a tarball or a zip file. This could be some source code for an app that isn’t included in Gentoo’s Portage tree, some documentation for an internal …

Spark架構與作業執行流程簡介

2019獨角獸企業重金招聘Python工程師標準>>> Spark架構與作業執行流程簡介 博客分類&#xff1a; spark Local模式 運行Spark最簡單的方法是通過Local模式&#xff08;即偽分布式模式&#xff09;。 運行命令為&#xff1a;./bin/run-example org.apache.spark.exam…

Spring boot整合Mongodb

最近的項目用了Mongodb&#xff0c;網上的用法大多都是七零八落的沒有一個統一性&#xff0c;自己大概整理了下&#xff0c;項目中的相關配置就不敘述了&#xff0c;由于spring boot的快捷開發方式&#xff0c;所以spring boot項目中要使用Mongodb&#xff0c;只需要添加依賴和…

nodejs和Vue和Idea

文章目錄Vue環境搭建Idea安裝Idea中配置Vue環境Node.js介紹npm介紹Vue.js介紹[^3]Idea介紹Vue環境搭建 概述&#xff1a;vue環境搭建&#xff1a;需要npm&#xff08;cnpm&#xff09;&#xff0c;而npm內嵌于Node.js&#xff0c;所以需要下載Node.js。 下載Node.js&#xff1…

Spring MVC上下文父子容器

2019獨角獸企業重金招聘Python工程師標準>>> Spring MVC上下文父子容器 博客分類&#xff1a; java spring 在Spring MVC的啟動依賴Spring框架&#xff0c;有時候我們在啟動Spring MVC環境的時候&#xff0c;如果配置不當的話會造成一些不可預知的結果。下面主要介紹…

12.7 Test

目錄 2018.12.7 TestA 序列sequence(迭代加深搜索)B 轟炸bomb(Tarjan DP)C 字符串string(AC自動機 狀壓DP)考試代碼AC2018.12.7 Test題目為2018.1.4雅禮集訓。 時間&#xff1a;4.5h期望得分&#xff1a;010010實際得分&#xff1a;010010 A 序列sequence(迭代加深搜索) 顯然可…

word文檔中統計總頁數_如何在Google文檔中查找頁數和字數統計

word文檔中統計總頁數Whether you’ve been given an assignment with a strict limit or you just like knowing how many words you’ve written, Google Docs has your back. Here’s how to see exactly how many words or pages you’ve typed in your document. 無論您是…

vue 入門notes

文章目錄vue一、js基礎二、封裝緩存三、組件1、組件創建、引入、掛載、使用2、組件間的傳值- 父組件主動獲取子組件的數據和方法&#xff08;子組件給父組件傳值&#xff09;&#xff1a;- 子組件主動獲取父組件的數據和方法&#xff08;父組件給子組件傳值&#xff09;&#x…

spring集成 JedisCluster 連接 redis3.0 集群

2019獨角獸企業重金招聘Python工程師標準>>> spring集成 JedisCluster 連接 redis3.0 集群 博客分類&#xff1a; 緩存 spring 客戶端采用最新的jedis 2.7 1. maven依賴&#xff1a; <dependency> <groupId>redis.clients</groupId> <artifact…

html-盒子模型及pading和margin相關

margin: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;}/*margin 外邊距 元素與其他元素的距離&#xff08;邊框以外的距離&#xff09;一…