首頁 >web前端 >js教程 >jQuery.not(selector)的用法詳解

jQuery.not(selector)的用法詳解

巴扎黑
巴扎黑原創
2017-06-22 17:51:572469瀏覽

.not(selector)傳回:jQuery

說明:從符合元素集中刪除元素。

版本增加:1.0.not(選擇器)

選擇

#類型:選擇器或元素或陣列

包含選擇器表達式,DOM元素或與該集合相符的元素數組的字串。

版本增加:1.4。 (功能)

功能

類型:函數(整數索引,元素元素)=> 布林值

#用作集合中每個元素的測試的函數。它接受兩個參數,index它是jQuery集合中元素的索引element,它是DOM元素。在該函數內,this指的是當前的DOM元素。

版本增加:1.4不選(選擇)

選擇

類型:jQuery

一個現有的jQuery對象,以符合目前的元素組。

給定一個表示一組DOM元素.not()的jQuery對象,該方法從匹配元素的子集中構造一個新的jQuery對象。所提供的選擇器針對每個元素進行測試; 與選擇器不匹配的元素將包含在結果中。

考慮一個有簡單清單的頁面:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

我們可以將此方法套用到清單項目集:

$( "li" ).not( ":even" ).css( "background-color", "red" );

這個呼叫的結果是項目2和4的紅色背景,因為它們與選擇器不符(回想一下:偶數:奇數使用0的索引)。

刪除特定元素

該.not()方法的第二個版本允許我們從匹配的集合中刪除元素,假設我們以前透過其他方法找到了這些元素。例如,假設我們的清單已將id套用到其中一項:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li id="notli">list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

我們可以使用本機JavaScript getElementById()函數取得第三個清單項,然後從jQuery物件中刪除它:

$( "li" ).not( document.getElementById( "notli" ) )
  .css( "background-color", "red" );

此語句更改了項目1,2,4和5的顏色。我們可以使用更簡單的jQuery表達式完成相同的操作,但是,例如,當其他函式庫提供對純DOM節點的參考時,此技術將非常有用。

從jQuery 1.4開始,該.not()方法可以以相同的方式將函數作為其參數.filter()。功能傳回的元素true從過濾的集合中排除; 所有其他元素都包括在內。

注意:當CSS選擇器字串被傳遞時.not(),文字和註解節點將始終在過濾過程中從產生的jQuery物件中刪除。當提供特定節點或節點數組時,如果匹配過濾數組中的一個節點,文字或註釋節點將僅從jQuery物件中刪除。

範例:

新增邊框到不是綠色或藍色的div。

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>not demo</title>
  <style>
  div {
    width: 50px;
    height: 50px;
    margin: 10px;
    float: left;
    background: yellow;
    border: 2px solid white;
  }
  .green {
    background: #8f8;
  }
  .gray {
    background: #ccc;
  }
  #blueone {
    background: #99f;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div></div>
<div id="blueone"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
 
<script>
$( "div" ).not( ".green, #blueone" )
  .css( "border-color", "red" );
</script>
 
</body>
</html>

示範:

從所有段落的集合中刪除ID為「selected」的元素。

$( "p" ).not( $( "#selected" )[ 0 ] );

從所有段落的集合中刪除ID為「selected」的元素。

$( "p" ).not( "#selected" );

從所有段落的總集合中刪除與「div p.selected」相符的所有元素。

$( "p" ).not( $( "div p.selected" ) );

以上是jQuery.not(selector)的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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