概述jQuery的元素篩選
1、eq() 篩選指定索引號(hào)的元素
2、first() 篩選出第一個(gè)匹配的元素
3、last() 篩選出最后一個(gè)匹配的元素
4、hasClass() 檢查匹配的元素是否含有指定的類
5、filter() 篩選出與指定表達(dá)式匹配的元素集合
6、is() 檢查元素是否參數(shù)里能匹配上的
7、map()
8、has() 篩選出包含指定子元素的元素
9、not() 排除能夠被參數(shù)中匹配的元素
10、slice() 從指定索引開始,截取指定個(gè)數(shù)的元素
11、children() 篩選獲取指定元素的資源
12、closest() 從當(dāng)前元素開始,返回最先匹配到的符合條件的父元素
13、find() 從指定元素中查找子元素
14、next() 獲取指定元素的下一個(gè)兄弟元素
15、nextAll() 獲取其后的所有兄弟元素
16、nextUntil() 獲取其后的元素,直到參數(shù)能匹配上的為止,不包括結(jié)束條件那個(gè)
17、offsetPosition() 返回第一個(gè)用于定位的祖先元素,即查找祖先元素中position為relative或absolute的元素。
18、parent() 獲取指定元素的直接父元素
19、parents() 獲取指定元素的所有祖先元素,一直到<body></body>
20、parentsUntil() 獲取指定元素的祖先元素,知道參數(shù)里能匹配到的為止
21、prev() 獲取指定元素的前一個(gè)兄弟元素
22、prevAll() 獲取指定元素前面的所有兄弟元素
23、prevUntil() 獲取指定元素前面的所有兄弟元素,直到參數(shù)里的條件能夠匹配到的。 注意參數(shù)條件本身不會(huì)被匹配
24、siblings() 獲取指定元素的兄弟元素,不分前后
25、add() 將選中的元素添加到j(luò)Query對(duì)象集合中
26、andSelf() 將自身加到選中的jQuery集合中,以方便一次性操作
27、end() 將改變當(dāng)前選擇器選中的操作回退為上一個(gè)狀態(tài)。
28、contents 未明白
************************* 篩選 ************************************
一、eq() 篩選指定索引號(hào)的元素
語法:eq(index|-index) 索引號(hào)從0開始,若為負(fù)值,則從最后一個(gè)開始倒數(shù),最后一個(gè)從-1開始
$("p").eq(1); //如果選擇器改為 $("p").eq(-1),則我是第四個(gè)P會(huì)被選中 <div> <p>我是第一個(gè)P</p> <p>我是第二個(gè)P</p> //會(huì)被選中,索引值為1 <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> </div>
二、first() 篩選出第一個(gè)匹配的元素
語法:first() 此方法沒有參數(shù)
$("p").first(); <div> <p>我是第一個(gè)P</p> //我的索引值是0,我是第一個(gè),我會(huì)被選中 <p>我是第二個(gè)P</p> <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> </div>
三、last() 篩選出最后一個(gè)匹配的元素
語法:last() 此方法沒有參數(shù)
$("p").last(); <div> <p>我是第一個(gè)P</p> <p>我是第二個(gè)P</p> <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> //我是最后一個(gè),我會(huì)被選中 </div>
四、hasClass() 檢查匹配的元素是否含有指定的類
語法:hasClass(class) class為類別名 //返回布爾值
if($("p").hasClass("p2")) { alert("我里面含有class=p2的元素"); //會(huì)彈出,p里的確存在class="p2"的元素 } <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> </div>
五、filter() 篩選出與指定表達(dá)式匹配的元素集合
語法:filter(expr|obj|ele|fn) expr:匹配表達(dá)式|obj:jQuery對(duì)象,用于匹配現(xiàn)有元素 | DOM:用于匹配的DOM元素 | function返回值作為匹配條件
$("p").filter(".p2"); <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> //我會(huì)被選中,我的class="p2" <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> </div>
六、is() 檢查元素是否參數(shù)里能匹配上的
語法:is(expr|obj|ele|fn) expr:匹配表達(dá)式|obj:jQuery對(duì)象,用于匹配現(xiàn)有元素 | DOM:用于匹配的DOM元素 | function返回值作為匹配條件
$($("p").first().is(".p2")) { alert("不會(huì)彈出,因?yàn)榈谝粋€(gè)P的class不等于p2"); } <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> //我會(huì)被選中,我的class="p2" <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> </div>
七、map()
八、has() 篩選出包含指定子元素的元素
語法:has(expr|ele) expr:選擇表達(dá)式 | DOM元素選擇
$("div").has("p"); <div> //本div會(huì)被選中,因?yàn)樵揹iv含有p子元素 <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> <p>我是第三個(gè)P</p> <p>我是第四個(gè)P</p> </div> <div> <span>我是一個(gè)span</spam> </div>
九、not() 排除能夠被參數(shù)中匹配的元素
語法:not(expr|ele|fn) expr:選擇表達(dá)式 | DOM元素選擇 | fn的作用還不清楚
$("p").not(".p2"); <div> <p>我是第一個(gè)P</p> //會(huì)被選中,沒有class=p2 <p class="p2">我是第二個(gè)P</p> //不會(huì)被選中,因?yàn)橛衏lass=p2被not(".p2")排除了 <p>我是第三個(gè)P</p> //會(huì)被選中,沒有class=p2 <p>我是第四個(gè)P</p> //會(huì)被選中,沒有class=p2 </div>
十、slice() 從指定索引開始,截取指定個(gè)數(shù)的元素
語法:slice(start, [end]) start位置, end可選,結(jié)束位置,不包含結(jié)束位置那個(gè)。如果不指定,則匹配到最后一個(gè)。
$("p").slice(1,3) <div> <p>我是第一個(gè)P</p> //不會(huì)被選中,我索引為0 <p class="p2">我是第二個(gè)P</p> //會(huì)被選中,我索引為1 <p>我是第三個(gè)P</p> //會(huì)被選中,我索引為2 <p>我是第四個(gè)P</p> //不會(huì)被選中,雖然我的索引為3,但是不包括我 </div>
********************** 篩選 *********************************
十一、children() 篩選獲取指定元素的資源
語法:children(expr); 獲取指定元素的資源,expr為子元素篩選條件
$("div").children(".p2"); <div> <p>我是第一個(gè)P</p> //不會(huì)被選中,雖然我是div的子元素,但是我沒class=p2 <p class="p2">我是第二個(gè)P</p> //會(huì)被選中,我既是p的子元素,又有class=p2 <p>我是第三個(gè)P</p> //不會(huì)被選中,雖然我是div的子元素,但是我沒class=p2 <p>我是第四個(gè)P</p> //不會(huì)被選中,雖然我是div的子元素,但是我沒class=p2 </div>
十二、closest() 從當(dāng)前元素開始,返回最先匹配到的符合條件的父元素
$("span").closest("p","div"); <div> //不會(huì)被選中,被P搶了先機(jī) <p>我是第一個(gè)P //P會(huì)被選中,因?yàn)镻符合條件,而且是最先匹配到的,雖然div也符合條件了,但是div不是最先匹配到的。因此div不會(huì)被選中。 <span>我是P里的span</span> </p> </div>
十三、find() 從指定元素中查找子元素
語法:find(expr|obj|ele) expr:匹配表達(dá)式 | obj用于匹配的jQuery對(duì)象 | DOM元素
$("div").find(".p2"); <div> <p>我是第一個(gè)P</p> //不會(huì)被選中,雖然我是div的子元素,但是我沒class=p2 <p class="p2">我是第二個(gè)P</p> //會(huì)被選中,我既是p的子元素,又有class=p2 <p>我是第三個(gè)P</p> //不會(huì)被選中,雖然我是div的子元素,但是我沒class=p2 <p>我是第四個(gè)P</p> //不會(huì)被選中,雖然我是div的子元素,但是我沒class=p2 </div>
十四、next() 獲取指定元素的下一個(gè)兄弟元素
語法:next(expr) expr:可選,篩選條件,如果下一個(gè)兄弟元素不符合改條件,則返回空。
$(".p2").next(); //如果篩選改為$(".p2").next(".p4")那選中的是哪個(gè)呢?答案是:沒選中任何元素,因?yàn)殡m然有個(gè)class=p4的P,但它不是.p2的下一個(gè)?! ? <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> <p>我是第三個(gè)P</p> //我是.p2的next <p class="p4">我是第四個(gè)P</p> </div>
十五、nextAll() 獲取其后的所有兄弟元素
語法:nextAll(expr) expr:可選,篩選條件,獲取其后符合expr條件的所有兄弟元素
$(".p2").nextAll(); //如果篩選條件改為 $(".p2").nextAll(".p4"); 則只有我是第四個(gè)P會(huì)被選中 <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> <p>我是第三個(gè)P</p> //會(huì)被選中,是.p2后面的兄弟元素 <p class="p4">我是第四個(gè)P</p> //會(huì)被選中,是.p2后面的兄弟元素 </div>
十六、nextUntil() 獲取其后的元素,直到參數(shù)能匹配上的為止,不包括結(jié)束條件那個(gè)
語法:nextUntil([expr|ele][,fil]) expr篩選表達(dá)式 | DOM元素篩選,注意不包括參數(shù)里的那一個(gè)
$(".p2").nextUntil(".p4"); //注意此方法并不會(huì)包括.p4 <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> <p>我是第三個(gè)P</p> //會(huì)被選中,是.p2后面的兄弟元素 <p class="p4">我是第四個(gè)P</p> //不會(huì)被選中,我作為結(jié)束條件,但不包括我 </div>
十七、offsetPosition() 返回第一個(gè)用于定位的祖先元素,即查找祖先元素中position為relative或absolute的元素。
語法:offsetPosition() 此方法沒有參數(shù) 由于CSS的絕對(duì)定位的定位基準(zhǔn)是相對(duì)最近的一個(gè)已定位元素,因此此方法的作用不言而喻。
$("span").offsetParent(); <div style="position:relative"> //選中的是div,因此div是已定位元素。 <p> <span>我是一個(gè)span</span> </p> </div>
十八、parent() 獲取指定元素的直接父元素
語法:parent(expr) expr為篩選條件,如果直接父元素不符合條件,則不返回任何元素(無論它的祖先是否具有能與expr匹配的)
$("span").parent(); <div style="position:relative"> <p> //我是span的直接父元素,我會(huì)被匹配到 <span>我是一個(gè)span</span> </p> </div>
十九、parents() 獲取指定元素的所有祖先元素,一直到<body></body>
語法:parents(expr) expr為篩選條件,如果某個(gè)祖先元素不符合expr則排除
$("span").parents(); <div style="position:relative"> //我是span的祖先元素,我也會(huì)被匹配到.另外<body></body>也會(huì)被匹配到 <p> //我是span的直接父元素,我會(huì)被匹配到 <span>我是一個(gè)span</span> </p> </div>
二十、parentsUntil() 獲取指定元素的祖先元素,知道參數(shù)里能匹配到的為止
語法:parentsUntil(expr) expr為停止參數(shù),一直匹配到expr為止,同時(shí)參數(shù)的條件是不會(huì)被匹配中的。
$("span").parentsUntil("div"); <div style="position:relative"> //我是span的祖先元素,但是我作為停止條件,我也不會(huì)被選中 <p> //我是span的直接父元素,我會(huì)被選中 <span>我是一個(gè)span</span> </p> </div>
二十一、prev() 獲取指定元素的前一個(gè)兄弟元素
語法:prev(expr) expr:可選。當(dāng)上一個(gè)兄弟元素不符合參數(shù)中的條件時(shí),不返回任何元素。
$(".p2").prev(); <div> <p>我是第一個(gè)P</p> //我會(huì)被選中,我是.p2的前一個(gè)元素。 <p class="p2">我是第二個(gè)P</p> <p>我是第三個(gè)P</p> <p class="p4">我是第四個(gè)P</p> </div>
二十二、prevAll() 獲取指定元素前面的所有兄弟元素
語法:prevAll(expr) expr:可選,排除所有不能夠被expr匹配上的元素
$(".p4").prevAll(".p2"); <div> <p>我是第一個(gè)P</p> //不會(huì)被選中,雖然我是.p4前面的兄弟元素,但是我沒有class=p2 <p class="p2">我是第二個(gè)P</p> //會(huì)被選中,我既是.p4前面的兄弟元素,而且我有class=p2 <p>我是第三個(gè)P</p> //不會(huì)被選中,雖然我是.p4前面的兄弟元素,但是我沒有class=p2 <p class="p4">我是第四個(gè)P</p> </div>
二十三、prevUntil() 獲取指定元素前面的所有兄弟元素,直到參數(shù)里的條件能夠匹配到的。 注意參數(shù)條件本身不會(huì)被匹配
語法:prevUntil([expr|ele][,fil]) expr匹配表達(dá)式 | DOM元素匹配
$(".p4").prevUntil(".p2"); <div> <p>我是第一個(gè)P</p> //不會(huì)被選中,到p2就停止了 <p class="p2">我是第二個(gè)P</p> //不會(huì)被選中,我是停止條件,不包括我 <p>我是第三個(gè)P</p> //會(huì)被選中,我在.p2前,遞歸到我在到.p2 <p class="p4">我是第四個(gè)P</p> //不會(huì)被選中,我自己怎么可能是我自己前面的呢? </div>
/******************** 串聯(lián) *******************************/
二十四、siblings() 獲取指定元素的兄弟元素,不分前后
語法:siblings(expr); expr為篩選條件,不符合條件的不會(huì)選中
$(".p2").siblings(); <div> <p>我是第一個(gè)P</p> //會(huì)被選中,我是.p2的兄弟元素 <p class="p2">我是第二個(gè)P</p> //不會(huì)被選中,我是自己 <p>我是第三個(gè)P</p> //會(huì)被選中,我是.p2的兄弟元素 <p class="p4">我是第四個(gè)P</p> //會(huì)被選中,我是.p2的兄弟元素 </div>
二十五、add() 將選中的元素添加到j(luò)Query對(duì)象集合中
add(expr|elements|html|jQueryObject) expr:選擇器表達(dá)式 | DOM表達(dá)式 | Html片段 | jQuery對(duì)象,將jQuery對(duì)象集合一起方便操作;
$(".p2").add("span").css("background-color","red"); <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> //會(huì)變紅 <p>我是第三個(gè)P</p> <p class="p4">我是第四個(gè)P</p> </div> <span>我是一個(gè)span</span> //會(huì)變紅
二十六、andSelf() 將自身加到選中的jQuery集合中,以方便一次性操作
andSelf() 此方法無參數(shù)
$(".p2").nextAll().andSelf().css("background-color","red"); <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> //會(huì)變紅,這就是andSelf()的效果 <p>我是第三個(gè)P</p> //會(huì)變紅 <p class="p4">我是第四個(gè)P</p> //會(huì)變紅 </div>
二十七、end() 將改變當(dāng)前選擇器選中的操作回退為上一個(gè)狀態(tài)。
end() 此方法沒有參數(shù)
$(".p2").next().end().css("background-color","red"); <div> <p>我是第一個(gè)P</p> <p class="p2">我是第二個(gè)P</p> //會(huì)變紅,這就end()的效果 <p>我是第三個(gè)P</p> //不會(huì)變紅,盡管next()方法之后選中的是這一個(gè),但是由于被end()方法回退了因此是上一個(gè)。 <p class="p4">我是第四個(gè)P</p> </div>
二十八、contents 未明白
以上就是本文的全部?jī)?nèi)容,有問題的可以和小編聯(lián)系,謝謝對(duì)腳本之家的支持!
- jQuery多條件篩選如何實(shí)現(xiàn)
- jquery實(shí)現(xiàn)多條件篩選特效代碼分享
- jquery遍歷篩選數(shù)組的幾種方法和遍歷解析json對(duì)象
- jquery遍歷數(shù)組與篩選數(shù)組的方法
- Jquery仿淘寶京東多條件篩選可自行結(jié)合ajax加載示例
- JQuery篩選器全系列介紹
- JS Jquery 遍歷,篩選頁面元素 自動(dòng)完成(實(shí)現(xiàn)代碼)
- jquery表格內(nèi)容篩選實(shí)現(xiàn)思路及代碼
- 在jQuery中 關(guān)于json空對(duì)象篩選替換
- jQuery篩選器children()案例詳解(圖文)
相關(guān)文章
Jquery 實(shí)現(xiàn)表格顏色交替變化鼠標(biāo)移過顏色變化實(shí)例
Jquery 實(shí)現(xiàn)表格顏色交替變化,點(diǎn)擊選中行,鼠標(biāo)移過顏色變化效果附演示代碼 ,喜歡的朋友可以參考下2013-08-08基于jQuery實(shí)現(xiàn)點(diǎn)擊最后一行實(shí)現(xiàn)行自增效果的表格
現(xiàn)在任何事務(wù)都追求效率和人性化,當(dāng)然網(wǎng)頁效果也是如此,如果一個(gè)可以編輯數(shù)據(jù)的表格,編輯到最后一行的時(shí)候,點(diǎn)擊可以自動(dòng)添加一行,這樣算是一個(gè)比較人性化的效果,可以免去一絲勞頓之苦,下面分享一段這樣的代碼2016-01-01js jquery獲取當(dāng)前元素的兄弟級(jí) 上一個(gè) 下一個(gè)元素
js獲取方法要比jq的方法麻煩的多,主要是因?yàn)镕F瀏覽器,因?yàn)镕F瀏覽器也會(huì)把換行當(dāng)作dom元素,下面跟著小編一起來學(xué)習(xí)js jquery獲取當(dāng)前元素的兄弟級(jí) 上一個(gè) 下一個(gè)元素的,需要的朋友一起來學(xué)習(xí)吧2015-09-09Jquery屬性的獲取/設(shè)置及樣式添加/刪除操作技巧分析
這篇文章主要介紹了Jquery屬性的獲取/設(shè)置及樣式添加/刪除操作技巧,結(jié)合實(shí)例形式分析了jquery針對(duì)屬性與樣式的相關(guān)獲取、設(shè)置、添加、刪除等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-12-12jQuery學(xué)習(xí)筆記[1] jQuery中的DOM操作
jQuery中的DOM操作實(shí)現(xiàn)說明,學(xué)習(xí)DOM操作的朋友可以參考下。2010-12-12jQuery 浮動(dòng)廣告實(shí)現(xiàn)代碼
用jquery實(shí)現(xiàn)的浮動(dòng)廣告代碼,需要的朋友可以參考下。2008-12-12用jquery的方法制作一個(gè)簡(jiǎn)單的導(dǎo)航欄
用jquery制作一個(gè)簡(jiǎn)單的導(dǎo)航欄,使用到了addClass及removeClass等方法,需要的朋友可以參考下2014-06-06