首頁 > web前端 > js教程 > 主體

jQuery.not(selector)的用法詳解

巴扎黑
發布: 2017-06-22 17:51:57
原創
2421 人瀏覽過

.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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板