.not( selector )返回类型:jQuery
描述:从匹配的元素集合中删除元素。
-
增补版本:1.0.not( selector )
-
selector一个字符串,包含一个选择器表达式,一个DOM元素,或一个元素的数组,用来针对集合作匹配。
-
-
增补版本:1.4.not( function )
-
function一个函数,用作集合中的每个元素的测试。它接受两个参数,
index
和element
,前者是jQuery集合中元素的索引,后者是DOM元素。在函数内部,this
引用当前DOM元素。
-
-
增补版本:1.4.not( selection )
-
selection类型:jQuery一个已有的jQuery对象,匹配所针对的元素的当前集合。
-
给定一个jQuery对象,代表一个DOM元素集合,.not()
方法根据匹配元素的子集构造了一个新jQuery对象。提供的选择器针对每个元素作测试;不匹配选择器的元素才会包含在结果中。
请琢磨一个带有简单列表的网页:
1
2
3
4
5
6
7
|
|
我们将对列表项集合应用此方法:
1
|
|
此调用的结果是项2和项4得到红色背景,它们不匹配选择器(再次强调:even
和:odd
使用基于0的索引)。
删除特定元素
.not()
方法的第二版允许我们从匹配集合中删除元素,假定我们可以先找到由其它方法产生的元素。例如:假定我们的列表具有一个id,应用于它的一个项:
1
2
3
4
5
6
7
|
|
我们可以使用原生的JavaScriptgetElementById()
取得第三项,然后从jQuery对象中删除它:
1
2
|
|
此语句改变了项1、2、4、5的颜色。我们可以利用一个更简单的jQuery表达式来实现相同的结果,但是某些时候此技术很有用,例如,在其它库提供了对一个扁平DOM节点的引用的时候。
自从jQuery 1.4以来,.not()
方法或以取用一个函数作为它的参数,方式与.filter()
相同。这些函数返回true
的元素被排除出经筛选的集合;所有其它元素都被保留下来。
注意:如果 .not()
传入了一个CSS选择器字符串,在筛选过程中,返回的jQuery对象将始终删除文本和注释节点。如果提供了一个特定的节点或节点的数组,只有当文本或注释节点匹配筛选数组中的一个节点时,jQuery对象才会删除它们。
示例:
把边框添加到非蓝非绿的<div>。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
|
演示:
从所有段落集合中删除带有id="selected"的元素。
1
|
|
从所有段落集合中删除带有id="selected"的元素。
1
|
|
从所有段落集合中删除所有匹配"div p.selected"的元素。
1
|
|