.is( selector )返回类型:Boolean
描述:针对一个选择器、元素或jQuery对象检查当前匹配的元素集合,如果这些元素至少有一个匹配给定的参数,就返回true
。
-
增补版本:1.0.is( selector )
-
selector类型:Selector一个字符串,包含了选择器表达式,以匹配针对的元素
-
-
增补版本:1.6.is( function )
-
function一个函数,用于测试集合中的每个元素。它接受两个参数,
index
,它是元素在jQuery集合中的索引,以及element
,它是该DOM元素。在函数内部,this
指的是当前DOM元素。
-
-
增补版本:1.6.is( selection )
-
selection类型:jQuery一个已有的jQuery对象,匹配针对的元素的当前集合。
-
-
增补版本:1.6.is( elements )
-
elements类型:Element一个或多个元素,匹配所针对的元素的当前集合。
-
不同于其它筛选方法,.is()
方法并不创建新的jQuery对象。而是,它允许你测试jQuery对象的内容。它在回调函数里面,譬如事件处理函数里面很有用。
假设你有一个列表,其中两个项包含了子元素:
1
2
3
4
5
|
|
你可以对<ul>元素附加一个点击处理函数,然后限制代码只有在列表本身被点吉时才触发,子元素被点击时不触发:
1
2
3
4
5
6
|
|
现在,当用户点击第一项的单词“list”或第三项的任何位置时,被点击的列表项将变成红色背景。然而,如果用户点击第一项的“item 1”或第二项的任何位置,不会发生任何事件,因为那样的话,事件的目标将分别是<strong>
和<span>
。
在jQuery 1.7以前的版本中,在带有定位选择器(譬如:first
、:gt()
和:even
)的选择器字符串中,定位筛选是针对传给.is()
的jQuery对象做的,不是针对包含文档。所以,针对上面显示的HTML,像$( "li:first" ).is( "li:last" )
这样的表达式返回true
,但是$( "li:first-child" ).is( "li:last-child" )
返回false
。此外Sizzle中有一个bug,阻止了很多定位选择器正常工作。这两个因素使定位选择器几乎不能用于筛选器。
自从jQuery 1.7以来,带有定位选择器的选择器字符串,针对文档应用选择器,然后确定当前jQuery集合的第一个元素是否匹配任何结果元素。从而针对上面显示的HTML,像$( "li:first" ).is( "li:last" )
这样的表达式返回false
。请注意,因为定位选择器是jQuery附加,不是W3C标准,所以我们建议在可行时请使用W3C选择器。
使用函数
此方法的第二种形式相对于元素估值表达式,然于元素而不是基于选择器。对于每个元素,如果函数都返回true
,则.is()
也将返回true
。例如,给出一段较为复杂的HTML片断:
1
2
3
4
5
6
7
8
|
|
你可以向每个<li>
附加点击处理函数,以估值在被点击时,被点击的<li>
内部<strong>
元素的数量,如下所示:
1
2
3
4
5
6
7
8
9
10
11
|
|
示例:
显示可以在一个事件处理函数内部使用.is()
的方法。
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
|
演示:
返回蓝色,因为输入的父元素是一个表单元素。
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
|
|
演示:
返回false,因为输入的父元素是一个<p>元素。
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
|
|
演示:
针对一个已有的交替列表元素的集合作检查。蓝色的,交替滑上滑下列表元素,与此同时,其它的变成红色。
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
|
|
演示:
一个实现上面示例的替代方式是使用一个元素,而不是一个jQuery对象。针对一个交替列表元素的已有的集合检查。蓝色的,交替滑上滑下列表元素,与此同时,其它的变成红色。
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
|
|