eq 选择器版本已弃用: 3.4
描述: 在匹配的集合中选择索引为 n
的元素。
-
版本添加: 1.0jQuery( ":eq(index)" )
index: 要匹配的元素的从零开始的索引。
-
版本添加: 1.8jQuery( ":eq(-index)" )
indexFromEnd: 要匹配的元素的从零开始的索引,从最后一个元素开始倒数。
从 jQuery 3.4 开始,:eq
伪类已弃用。从您的选择器中删除它,并使用 .eq()
在之后过滤结果。
与索引相关的选择器 (:eq()
, :lt()
, :gt()
, :even
, :odd
) 过滤在它们之前匹配表达式的元素集。它们根据这些匹配集合中元素的顺序缩小集合范围。例如,如果元素首先使用类选择器 (.myclass
) 选择,并且返回四个元素,那么这些元素将被赋予索引 0
到 3
,用于这些选择器。
请注意,由于 JavaScript 数组使用从 0 开始的索引,因此这些选择器反映了这一事实。这就是为什么 $( ".myclass:eq(1)" )
选择文档中具有类 myclass 的第二个元素,而不是第一个元素的原因。相反,:nth-child(n)
使用从 1 开始的索引来符合 CSS 规范。
在 jQuery 1.8 之前,:eq(index)
选择器不接受 index
的负值(尽管 .eq(index)
方法可以)。
附加说明
-
因为
:eq()
是jQuery的扩展,而不是CSS规范的一部分,所以使用:eq()
的查询无法利用原生DOMquerySelectorAll()
方法提供的性能提升。为了在现代浏览器中获得更好的性能,请改用$("your-pure-css-selector").eq(index)
。
示例
查找第三个td。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
|
演示
将三种不同的样式应用于列表项,以演示:eq()
旨在选择单个元素,而:nth-child()
或在循环结构(如.each()
)中的:eq()
可以选择多个元素。
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
|
|
演示
通过定位倒数第二个<li>,将一个类添加到列表2的第2项。
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
|
|