jQuery Pagbubukas - Pagkatanggal ng method
Halimbawa
Magtanggal ng paragrapo na may id na "selected" mula sa koleksyon ng lahat ng paragrapo:
$("p").not("#selected")
Paglilinaw at paggamit
not() Magtanggal ng elemento mula sa koleksyon ng pinagmumulan.
語法 1
.not(selector)
參數 | 描述 |
---|---|
selector | 字符串值,包含用於匹配元素的选择器表達式。 |
語法 2
.not(element)
參數 | 描述 |
---|---|
element | 一個或多個需要從匹配集中刪除的 DOM 元素。 |
語法 3
.not(function(index))
參數 | 描述 |
---|---|
function(index) | 用於檢測集合中每個元素的函數。this 是當前 DOM 元素。 |
詳細說明
如果給定一個表示 DOM 元素集合的 jQuery 對象,.not() 方法會用匹配元素的子集構造一個新的 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 設置為紅色背景,這是因為它們不匹配選擇器(回想一下,:even 和 :odd 均使用基於 0 的 index)。
移除具體的元素
.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、3 和 5 的背景色。我們可以用更簡單的 jQuery 表達式來完成同樣的事情,但是這項技術在比方說其他庫提供對純 DOM 處理的引用時會很有用。
對於 jQuery 1.4,.not() 方法能夠使用函數作為其參數,與 .filter() 方法相同。其函數返回 true 的元素會被排除在過濾集之外;所有其他元素將被包含其中。