JQuery元素快速查找與操作
首先,我們來(lái)看看jquery中如何查找到想要的結(jié)點(diǎn)。
第一步:sizzle選擇器
基于元素的id、類(lèi)、類(lèi)型、屬性、屬性值等"查找"(或選擇)HTML元素,簡(jiǎn)單的說(shuō)是基于css選擇器,除此之外還有一些特定的選擇器。
第二步:查詢(xún)祖先
parent()
返回被選元素的直接父元素,該方法只會(huì)向上一級(jí)對(duì) DOM 樹(shù)進(jìn)行遍歷
parents()
可以使用可選參數(shù)來(lái)過(guò)濾對(duì)父元素的搜索
返回被選元素的所有祖先元素,它一路向上直到文檔的根元素
parentsUntil()
返回介于兩個(gè)給定元素之間的所有祖先元素,下面是例子:
$(document).ready(function(){ //會(huì)返回span開(kāi)始到div為止的祖先元素 $("span").parentsUntil("div"); });
第三步:查詢(xún)子孫
children()
可以使用可選參數(shù)來(lái)過(guò)濾對(duì)子元素的搜索
返回被選元素的所有直接子元素,該方法只會(huì)向下一級(jí)對(duì) DOM 樹(shù)進(jìn)行遍歷
find()
可以使用可選參數(shù)來(lái)過(guò)濾對(duì)元素的搜索
返回被選元素的后代元素,一路向下直到最后一個(gè)后代
第四步:查詢(xún)同胞
siblings()
返回被選元素的所有同胞元素
next()
返回被選元素的下一個(gè)同胞元素
nextAll()
返回被選元素的之后的全部同胞元素
nextUntil()
返回介于兩個(gè)給定參數(shù)之間的所有跟隨的同胞元素
$(document).ready(function(){ //返回介于 <h2>與<h6>元素之間的所有同胞元素 $("h2").nextUntil("h6"); });
prev()、prevAll() 和 prevUntil()
prev()、prevAll()以及prevUntil()方法的工作方式與上面的方法類(lèi)似,只不過(guò)方向相反而已:它們返回的是前面的同胞元素(在 DOM 樹(shù)中沿著同胞之前元素遍歷,而不是之后元素遍歷)。
第五步:查詢(xún)時(shí)添加過(guò)濾
first()
返回選擇的元素中的首個(gè)元素
last()
返回選擇的元素中的最后一個(gè)元素
eq()
返回被選元素中帶有指定索引號(hào)的元素,這個(gè)很容易理解,舉例就是:$(element[flag])和element.eq(flag)結(jié)果一樣
filter()
對(duì)查詢(xún)結(jié)果進(jìn)行過(guò)濾,和下面not()類(lèi)似,作用相反
not()
返回不匹配標(biāo)準(zhǔn)的所有元素
$(document).ready(function(){ //返回不帶有類(lèi)名"target"的所有p元素 $("p").not(".target"); });
元素找到以后,接著我們需要根據(jù)需求來(lái)對(duì)查找到的結(jié)點(diǎn)進(jìn)行操作。
第六步:text()、html()、val()以及attr()
text()、html()、val()以及attr(),擁有回調(diào)函數(shù)?;卣{(diào)函數(shù)有兩個(gè)參數(shù):被選元素列表中當(dāng)前元素的下標(biāo),以及原始(舊的)值。然后以函數(shù)新值返回您希望使用的字符串
1.text() - 設(shè)置或返回所選元素的文本內(nèi)容
2.html() - 設(shè)置或返回所選元素的內(nèi)容(包括 HTML 標(biāo)記)
3.val() - 設(shè)置或返回表單字段的值
4.attr() - 設(shè)置或返回屬性值
$("#btn1").click(function(){ $("#test1").text(function(i,origText){ return "舊文本: " + origText + " 新文本: index: " + i; }); });
第七步:添加元素
append() - 在被選元素的內(nèi)部結(jié)尾插入內(nèi)容
prepend() - 在被選元素的內(nèi)部開(kāi)頭插入內(nèi)容
after() - 在被選元素之后插入內(nèi)容
before() - 在被選元素之前插入內(nèi)容
第八步:刪除元素
remove()可接受一個(gè)參數(shù),允許你對(duì)被刪元素進(jìn)行過(guò)濾,empty()不可以
remove() - 刪除被選元素(及其子元素)
empty() - 從被選元素中刪除子元素
//等同于$("p.target").remove(); $("p").remove(".target");
第九步:替換元素
replaceAll()和replaceWith()功能類(lèi)似,但是目標(biāo)和源相反
replaceWith() - 用提供的內(nèi)容替換集合中所有匹配的元素并且返回被刪除元素的集合
replaceAll() - 用集合的匹配元素替換每個(gè)目標(biāo)元素
第十步:class操作
addClass() - 向被選元素添加一個(gè)或多個(gè)類(lèi)
removeClass() - 從被選元素刪除一個(gè)或多個(gè)類(lèi)
toggleClass() - 對(duì)被選元素進(jìn)行添加/刪除類(lèi)的切換操作
hasClass() - 判斷一個(gè)元素是否存在該class
第十一步:css()方法
設(shè)置或返回被選元素的一個(gè)或多個(gè)樣式屬性
css("propertyname"); - 返回propertyname屬性的值
css("propertyname","value"); - 設(shè)置propertyname屬性的值
css({"propertyname":"value","propertyname":"value",...}); - 設(shè)置多個(gè)值
第十二步:元素尺寸
width() 方法設(shè)置或返回元素的寬度(不包括內(nèi)邊距、邊框或外邊距)
height() 方法設(shè)置或返回元素的高度(不包括內(nèi)邊距、邊框或外邊距)
innerWidth() 方法返回元素的寬度(包括內(nèi)邊距)
innerHeight() 方法返回元素的高度(包括內(nèi)邊距)
outerWidth() 方法返回元素的寬度(包括內(nèi)邊距和邊框)
outerHeight() 方法返回元素的高度(包括內(nèi)邊距和邊框)
相關(guān)文章
jquery實(shí)現(xiàn)廣告上下滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)廣告上下滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03jQuery+SpringMVC中的復(fù)選框選擇與傳值實(shí)例
下面小編就為大家分享一篇jQuery+SpringMVC中的復(fù)選框選擇與傳值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01jQuery+canvas實(shí)現(xiàn)簡(jiǎn)單的球體斜拋及顏色動(dòng)態(tài)變換效果
這篇文章主要介紹了jQuery+canvas實(shí)現(xiàn)簡(jiǎn)單的球體斜拋及顏色動(dòng)態(tài)變換效果,通過(guò)jQuery+html5的canvas利用時(shí)間函數(shù)進(jìn)行實(shí)時(shí)數(shù)學(xué)運(yùn)算動(dòng)態(tài)繪制拋物線(xiàn)圖形的技巧,需要的朋友可以參考下2016-01-01jQuery中:last-child選擇器用法實(shí)例
這篇文章主要介紹了jQuery中:last-child選擇器用法,實(shí)例分析了:last-child選擇器功能、定義及匹配父元素的最后一個(gè)子元素用法技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12jquery實(shí)現(xiàn)列表上下移動(dòng)功能
這篇文章主要為大家詳細(xì)介紹了jquery 實(shí)現(xiàn)列表上移、下移功能的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-02-02jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論區(qū)
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論區(qū),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03