如何使用jQuery篩選排除元素以修改指定標籤的屬性
簡單案例:
$(function(){ $("td[id][id!='']").click(function(){ //你的逻辑 }); });
上述程式碼,有id且id不為空的td都會執行「你的邏輯」。
=======================轉載====================== ===
1、eq() 篩選指定索引號的元素
2、first() 篩選出第一個符合的元素
3、last() 篩選出最後一個符合的元素
4、hasClass() 檢查匹配的元素是否含有指定的類別
5、filter() 篩選出與指定表達式匹配的元素集合
6、is() 檢查元素是否參數裡能符合上的
7、map()
8、has() 篩選出包含指定子元素的元素
9、not() 排除能夠被參數中匹配的元素
10、slice( ) 從指定索引開始,截取指定個數的元素
11、children() 篩選取得指定元素的資源
12、closest() 從目前元素開始,傳回最先符合到的符合條件的父元素
13、find() 從指定元素中尋找子元素
14、next() 取得指定元素的下一個兄弟元素
15、nextAll() 取得其後的所有兄弟元素
16 、nextUntil() 取得其後的元素,直到參數能匹配上的為止,不包括結束條件那個
17、offsetPosition() 傳回第一個用於定位的祖先元素,即查找祖先元素中position為relative或absolute的元素。
18、parent() 取得所有指定元素的直接父元素
19、parents() 取得所有指定元素的祖先元素,一直到
20、parentstiltil()取得指定元素的祖先元素,知道參數裡能匹配到的為止
21、prev() 獲取指定元素的前一個兄弟元素
22、prevAll() 獲取指定元素前面的所有兄弟元素
23、prevUntil() 取得指定元素前面的所有兄弟元素,直到參數裡的條件能夠匹配到的。 注意參數條件本身不會被符合
24、siblings() 取得指定元素的兄弟元素,不分前後
25、add() 將選取的元素加入jQuery物件集合中
26、andSelf () 將自身加到選取的jQuery集合中,以方便一次性操作
27、end() 將改變目前選擇器選取的操作回退為上一個狀態。
28、contents 不懂
************************* 篩選********** **************************
一、eq() 篩選指定索引號的元素
語法:eq(index|-index) 索引號從0開始,若為負值,則從最後一個開始倒數,最後一個從-1開始
$("p").eq(1); //如果选择器改为 $("p").eq(-1),则我是第四个P会被选中 <p> <p>我是第一个P</p> <p>我是第二个P</p> //会被选中,索引值为1 <p>我是第三个P</p> <p>我是第四个P</p> </p>
語法:first() 此方法沒有參數
$("p").first(); <p> <p>我是第一个P</p> //我的索引值是0,我是第一个,我会被选中 <p>我是第二个P</p> <p>我是第三个P</p> <p>我是第四个P</p> </p>
語法:last() 此方法沒有參數
$("p").last(); <p> <p>我是第一个P</p> <p>我是第二个P</p> <p>我是第三个P</p> <p>我是第四个P</p> //我是最后一个,我会被选中 </p>
語法:hasClass(class) class為類別名稱//傳回布林值
if($("p").hasClass("p2")) { alert("我里面含有class=p2的元素"); //会弹出,p里的确存在class="p2"的元素 } <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> <p>我是第三个P</p> <p>我是第四个P</p> </p>
語法:filter(expr|obj |ele|fn) expr:匹配表達式|obj:jQuery對象,用於匹配現有元素| DOM:用於匹配的DOM元素| function返回值作為匹配條件
$("p").filter(".p2"); <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> //我会被选中,我的class="p2" <p>我是第三个P</p> <p>我是第四个P</p> </p>
語法:is(expr |obj|ele|fn) expr:匹配表達式|obj:jQuery對象,用於匹配現有元素| DOM:用於匹配的DOM元素| function返回值作為匹配條件
$($("p").first().is(".p2")) { alert("不会弹出,因为第一个P的class不等于p2"); } <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> //我会被选中,我的class="p2" <p>我是第三个P</p> <p>我是第四个P</p> </p>
七、map ()
八、has() 篩選出包含指定子元素的元素
語法:has(expr|ele) expr:選擇表達式| DOM元素選擇
$("p").has("p"); <p> //本p会被选中,因为该p含有p子元素 <p>我是第一个P</p> <p class="p2">我是第二个P</p> <p>我是第三个P</p> <p>我是第四个P</p> </p> <p> <span>我是一个span</spam> </p>
九、not() 排除能夠被參數中匹配的元素
語法:not(expr|ele|fn) expr:選擇表達式| DOM元素選擇| fn的作用還不清楚
$("p").not(".p2"); <p> <p>我是第一个P</p> //会被选中,没有class=p2 <p class="p2">我是第二个P</p> //不会被选中,因为有class=p2被not(".p2")排除了 <p>我是第三个P</p> //会被选中,没有class=p2 <p>我是第四个P</p> //会被选中,没有class=p2 </p>
十、slice() 從指定索引開始,截取指定個數的元素
語法:slice(start, [end]) start位置, end可選,結束位置,不包含結束位置那個位置。如果不指定,則符合到最後一個。
$("p").slice(1,3) <p> <p>我是第一个P</p> //不会被选中,我索引为0 <p class="p2">我是第二个P</p> //会被选中,我索引为1 <p>我是第三个P</p> //会被选中,我索引为2 <p>我是第四个P</p> //不会被选中,虽然我的索引为3,但是不包括我 </p>
********************** 篩選******************** *************
十一、children() 篩選取得指定元素的資源
# 語法:children(expr); 取得指定元素的資源, expr為子元素篩選條件
$("p").children(".p2"); <p> <p>我是第一个P</p> //不会被选中,虽然我是p的子元素,但是我没class=p2 <p class="p2">我是第二个P</p> //会被选中,我既是p的子元素,又有class=p2 <p>我是第三个P</p> //不会被选中,虽然我是p的子元素,但是我没class=p2 <p>我是第四个P</p> //不会被选中,虽然我是p的子元素,但是我没class=p2 </p>
十二、closest() 從當前元素開始,返回最先匹配到的符合條件的父元素
$("span").closest("p","p"); <p> //不会被选中,被P抢了先机 <p>我是第一个P //P会被选中,因为P符合条件,而且是最先匹配到的,虽然p也符合条件了,但是p不是最先匹配到的。因此p不会被选中。 <span>我是P里的span</span> </p> </p>
十三、find() 從指定元素中尋找子元素
語法:find(expr|obj|ele) expr:匹配表達式| obj用於匹配的jQuery物件| DOM元素
$("p").find(".p2"); <p> <p>我是第一个P</p> //不会被选中,虽然我是p的子元素,但是我没class=p2 <p class="p2">我是第二个P</p> //会被选中,我既是p的子元素,又有class=p2 <p>我是第三个P</p> //不会被选中,虽然我是p的子元素,但是我没class=p2 <p>我是第四个P</p> //不会被选中,虽然我是p的子元素,但是我没class=p2 </p>
十四、next()取得指定元素的下一個兄弟元素
語法:next(expr) expr:可選,篩選條件,如果下一個兄弟元素不符合改變條件,則傳回空。
$(".p2").next(); //如果筛选改为$(".p2").next(".p4")那选中的是哪个呢?答案是:没选中任何元素,因为虽然有个class=p4的P,但它不是.p2的下一个。 <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> <p>我是第三个P</p> //我是.p2的next <p class="p4">我是第四个P</p> </p>
十五、nextAll() 取得其後的所有兄弟元素
文法:nextAll(expr) expr:可選,篩選條件,取得其後符合expr條件的所有兄弟元素
$(".p2").nextAll(); //如果筛选条件改为 $(".p2").nextAll(".p4"); 则只有我是第四个P会被选中 <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> <p>我是第三个P</p> //会被选中,是.p2后面的兄弟元素 <p class="p4">我是第四个P</p> //会被选中,是.p2后面的兄弟元素 </p>
十六、nextUntil() 取得其後的元素,直到參數能匹配上的為止,不包括結束條件那個
语法:nextUntil([expr|ele][,fil]) expr筛选表达式 | DOM元素筛选,注意不包括参数里的那一个
$(".p2").nextUntil(".p4"); //注意此方法并不会包括.p4 <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> <p>我是第三个P</p> //会被选中,是.p2后面的兄弟元素 <p class="p4">我是第四个P</p> //不会被选中,我作为结束条件,但不包括我 </p>
十七、offsetPosition() 返回第一个用于定位的祖先元素,即查找祖先元素中position为relative或absolute的元素。
语法:offsetPosition() 此方法没有参数 由于CSS的绝对定位的定位基准是相对最近的一个已定位元素,因此此方法的作用不言而喻。
$("span").offsetParent(); <p style="position:relative"> //选中的是p,因此p是已定位元素。 <p> <span>我是一个span</span> </p> </p>
十八、parent() 获取指定元素的直接父元素
语法:parent(expr) expr为筛选条件,如果直接父元素不符合条件,则不返回任何元素(无论它的祖先是否具有能与expr匹配的)
$("span").parent(); <p style="position:relative"> <p> //我是span的直接父元素,我会被匹配到 <span>我是一个span</span> </p> </p>
十九、parents() 获取指定元素的所有祖先元素,一直到
语法:parents(expr) expr为筛选条件,如果某个祖先元素不符合expr则排除
$("span").parents(); <p style="position:relative"> //我是span的祖先元素,我也会被匹配到.另外<body></body>也会被匹配到 <p> //我是span的直接父元素,我会被匹配到 <span>我是一个span</span> </p> </p>
二十、parentsUntil() 获取指定元素的祖先元素,知道参数里能匹配到的为止
语法:parentsUntil(expr) expr为停止参数,一直匹配到expr为止,同时参数的条件是不会被匹配中的。
$("span").parentsUntil("p"); <p style="position:relative"> //我是span的祖先元素,但是我作为停止条件,我也不会被选中 <p> //我是span的直接父元素,我会被选中 <span>我是一个span</span> </p> </p>
二十一、prev() 获取指定元素的前一个兄弟元素
语法:prev(expr) expr:可选。当上一个兄弟元素不符合参数中的条件时,不返回任何元素。
$(".p2").prev(); <p> <p>我是第一个P</p> //我会被选中,我是.p2的前一个元素。 <p class="p2">我是第二个P</p> <p>我是第三个P</p> <p class="p4">我是第四个P</p> </p>
二十二、prevAll() 获取指定元素前面的所有兄弟元素
语法:prevAll(expr) expr:可选,排除所有不能够被expr匹配上的元素
$(".p4").prevAll(".p2"); <p> <p>我是第一个P</p> //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2 <p class="p2">我是第二个P</p> //会被选中,我既是.p4前面的兄弟元素,而且我有class=p2 <p>我是第三个P</p> //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2 <p class="p4">我是第四个P</p> </p>
二十三、prevUntil() 获取指定元素前面的所有兄弟元素,直到参数里的条件能够匹配到的。 注意参数条件本身不会被匹配
语法:prevUntil([expr|ele][,fil]) expr匹配表达式 | DOM元素匹配
$(".p4").prevUntil(".p2"); <p> <p>我是第一个P</p> //不会被选中,到p2就停止了 <p class="p2">我是第二个P</p> //不会被选中,我是停止条件,不包括我 <p>我是第三个P</p> //会被选中,我在.p2前,递归到我在到.p2 <p class="p4">我是第四个P</p> //不会被选中,我自己怎么可能是我自己前面的呢? </p>
/******************** 串联 *******************************/
二十四、siblings() 获取指定元素的兄弟元素,不分前后
语法:siblings(expr); expr为筛选条件,不符合条件的不会选中
$(".p2").siblings(); <p> <p>我是第一个P</p> //会被选中,我是.p2的兄弟元素 <p class="p2">我是第二个P</p> //不会被选中,我是自己 <p>我是第三个P</p> //会被选中,我是.p2的兄弟元素 <p class="p4">我是第四个P</p> //会被选中,我是.p2的兄弟元素 </p>
二十五、add() 将选中的元素添加到jQuery对象集合中
add(expr|elements|html|jQueryObject) expr:选择器表达式 | DOM表达式 | Html片段 | jQuery对象,将jQuery对象集合一起方便操作;
$(".p2").add("span").css("background-color","red"); <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> //会变红 <p>我是第三个P</p> <p class="p4">我是第四个P</p> </p> <span>我是一个span</span> //会变红
二十六、andSelf() 将自身加到选中的jQuery集合中,以方便一次性操作
andSelf() 此方法无参数
$(".p2").nextAll().andSelf().css("background-color","red"); <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> //会变红,这就是andSelf()的效果 <p>我是第三个P</p> //会变红 <p class="p4">我是第四个P</p> //会变红 </p>
二十七、end() 将改变当前选择器选中的操作回退为上一个状态。
end() 此方法没有参数
$(".p2").next().end().css("background-color","red"); <p> <p>我是第一个P</p> <p class="p2">我是第二个P</p> //会变红,这就end()的效果 <p>我是第三个P</p> //不会变红,尽管next()方法之后选中的是这一个,但是由于被end()方法回退了因此是上一个。 <p class="p4">我是第四个P</p> </p>
以上是如何使用jQuery篩選排除元素以修改指定標籤的屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在日常辦公中經常使用Excel來處理數據,時常遇到需要使用「篩選」功能。當我們在Excel中選擇執行「篩選」時,對於同一列而言,最多只能篩選兩個條件,那麼,你知道excel同時篩選3個以上關鍵字該怎麼操作嗎?接下來,就請小編為大家示範一次。第一種方法是將條件逐步加入篩選器。如果要同時篩選出三個符合條件的明細,首先需要逐步篩選出其中一個。開始時,可以先依照條件篩選出姓「王」的員工。然後按一下【確定】,接著在篩選結果中勾選【將目前所選內容新增至篩選器】。操作步驟如下圖所示。 同樣,再次分別執行篩選

Excel表格是一款很常用的辦公室軟體,很多使用者都會在表格中記錄下各種數據,但是表格明明有數據單篩選是空白,關於這個問題,很多用戶都不知道要怎麼解決,沒有關係,本期軟體教程內容就來為廣大用戶們進行解答,有需要的用戶歡迎來查看解決方法吧。 Excel表格中明明有資料但篩選空白怎麼辦? 第一種原因,表格中含有空行 我們要篩選所有姓「李」的人,但可以看到並沒有篩選出正確的結果,因為表格中含有空行,這種情況如何處理呢? 解決方法: 步驟一:選取所有的內容再進行篩選 按c

CrystalDiskMark是一款適用於硬碟的小型HDD基準測試工具,可快速測量順序和隨機讀取/寫入速度。接下來就讓小編為大家介紹一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介紹CrystalDiskMark是一款廣泛使用的磁碟效能測試工具,用於評估機械硬碟和固態硬碟(SSD)的讀取和寫入速度和隨機I/O性能。它是一款免費的Windows應用程序,並提供用戶友好的介面和各種測試模式來評估硬碟效能的不同方面,並被廣泛用於硬體評

foobar2000是一款能隨時收聽音樂資源的軟體,各種音樂無損音質帶給你,增強版本的音樂播放器,讓你得到更全更舒適的音樂體驗,它的設計理念是將電腦端的高級音頻播放器移植到手機上,提供更便捷高效的音樂播放體驗,介面設計簡潔明了易於使用它採用了極簡的設計風格,沒有過多的裝飾和繁瑣的操作能夠快速上手,同時還支持多種皮膚和主題,根據自己的喜好進行個性化設置,打造專屬的音樂播放器支援多種音訊格式的播放,它還支援音訊增益功能根據自己的聽力情況調整音量大小,避免過大的音量對聽力造成損害。接下來就讓小編為大

在如今雲端儲存已成為我們日常生活和工作中不可或缺的一部分。百度網盤作為國內領先的雲端儲存服務之一,憑藉其強大的儲存功能、高效的傳輸速度以及便捷的操作體驗,贏得了廣大用戶的青睞。而且無論你是想要備份重要文件、分享資料,還是在線上觀看影片、聽取音樂,百度網盤都能滿足你的需求。但很多用戶可能對百度網盤app的具體使用方法還不了解,那麼這篇教學就將為大家詳細介紹百度網盤app如何使用,還有疑惑的用戶們就快來跟著本文詳細了解一下吧!百度雲網盤怎麼用:一、安裝首先,下載並安裝百度雲軟體時,請選擇自訂安裝選

MetaMask(中文也叫小狐狸錢包)是一款免費的、廣受好評的加密錢包軟體。目前,BTCC已支援綁定MetaMask錢包,綁定後可使用MetaMask錢包進行快速登錄,儲值、買幣等,且首次綁定還可獲得20USDT體驗金。在BTCCMetaMask錢包教學中,我們將詳細介紹如何註冊和使用MetaMask,以及如何在BTCC綁定並使用小狐狸錢包。 MetaMask錢包是什麼? MetaMask小狐狸錢包擁有超過3,000萬用戶,是當今最受歡迎的加密貨幣錢包之一。它可免費使用,可作為擴充功能安裝在網絡

網易郵箱,作為中國網友廣泛使用的一種電子郵箱,一直以來以其穩定、高效的服務贏得了用戶的信賴。而網易信箱大師,則是專為手機使用者打造的信箱軟體,它大大簡化了郵件的收發流程,讓我們的郵件處理變得更加便利。那麼網易信箱大師該如何使用,具體又有哪些功能呢,下文中本站小編將為大家帶來詳細的內容介紹,希望能幫助到大家!首先,您可以在手機應用程式商店搜尋並下載網易信箱大師應用程式。在應用寶或百度手機助手中搜尋“網易郵箱大師”,然後按照提示進行安裝即可。下載安裝完成後,我們打開網易郵箱帳號並進行登錄,登入介面如下圖所示

Apple在周二推出了iOS17.4更新,為iPhone帶來了一系列新功能和修復。這次更新包含了全新的表情符號,同時歐盟用戶也能夠下載其他應用程式商店。此外,更新還加強了對iPhone安全性的控制,引入了更多的「失竊設備保護」設定選項,為用戶提供更多選擇和保障。 "iOS17.3首次引入了「失竊設備保護」功能,為用戶的敏感資料增加了額外的安全保障。當用戶不在家等熟悉地點時,該功能要求用戶首次輸入生物特徵信息,並在一小時後再次輸入資訊才能存取和更改某些數據,如修改AppleID密碼或關閉失竊設備保護功能
