jQuery 遍歷 not() 方法
jQuery 遍歷 not() 方法
not() 從匹配元素集合中刪除元素。
1. 語法 1
.not(selector)
參數 | 描述 |
---|---|
selector | 字符串值,包含用于匹配元素的選擇器表達式。 |
2. 語法 2
.not(element)
參數 | 描述 |
---|---|
element | 一個或多個需要從匹配集中刪除的 DOM 元素。 |
3. 語法 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)。
4. 移除具體的元素
.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 的元素會被排除在過濾集之外;所有其他元素將被包含其中。
5. 范例
從包含所有段落的集合中刪除 id 為 "selected" 的段落:
$("p").not("#selected")
相關文章
- jQuery 安裝
- jQuery 效果 淡入淡出
- jQuery 效果 滑動
- jQuery 效果 動畫
- jQuery 尺寸
- jQuery AJAX load() 方法
- jQuery 參考手冊 數據
- jQuery 參考手冊 核心
- jQuery 參考手冊 屬性
- jQuery 事件 delegate() 方法
- jQuery 事件 die() 方法
- jQuery 事件 pageX 屬性
- jQuery 事件 pageY 屬性
- jQuery 事件 result 屬性
- jQuery 事件 which 屬性
- jQuery 事件 keydown() 方法
- jQuery 事件 mouseleave() 方法
- jQuery 事件 mousemove() 方法
- jQuery 事件 resize() 方法
- jQuery 事件 triggerHandler() 方法