首頁 web前端 js教程 如何使用jQuery篩選排除元素以修改指定標籤的屬性

如何使用jQuery篩選排除元素以修改指定標籤的屬性

May 28, 2018 am 10:18 AM
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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

excel同時篩選3個以上關鍵字怎麼操作 excel同時篩選3個以上關鍵字怎麼操作 Mar 21, 2024 pm 03:16 PM

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

Excel表格中明明有資料但篩選空白怎麼辦? Excel表格中明明有資料但篩選空白怎麼辦? Mar 13, 2024 pm 06:38 PM

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

crystaldiskmark是什麼軟體? -crystaldiskmark如何使用? crystaldiskmark是什麼軟體? -crystaldiskmark如何使用? Mar 18, 2024 pm 02:58 PM

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

foob​​ar2000怎麼下載? -foobar2000怎麼使用 foob​​ar2000怎麼下載? -foobar2000怎麼使用 Mar 18, 2024 am 10:58 AM

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

百度網盤app怎麼用 百度網盤app怎麼用 Mar 27, 2024 pm 06:46 PM

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

BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包? BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包? Apr 26, 2024 am 09:40 AM

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

網易信箱大師怎麼用 網易信箱大師怎麼用 Mar 27, 2024 pm 05:32 PM

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

教你使用 iOS 17.4「失竊裝置保護」新進階功能 教你使用 iOS 17.4「失竊裝置保護」新進階功能 Mar 10, 2024 pm 04:34 PM

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

See all articles