.eq()


.eq( index )返回: jQuery

描述: 减少匹配元素的集合为指定的索引的哪一个元素。

  • 添加的版本: 1.1.2.eq( index )

    • index
      类型: Integer
      一个整数,指示元素的位置,以0为基数。
  • 添加的版本: 1.4.eq( -index )

    • -index
      类型: Integer
      一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。

如果一个jQuery对象表示一个DOM元素的集合,.eq()方法从集合的一个元素中构造新的jQuery对象。所提供的索引标识这个集合中的元素的位置。

考虑一个页面上一个简单的列表:

1
2
3
4
5
6
7
<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>

我们可以在列表项目上设置此方法:

1
$('li').eq(2).css('background-color', 'red');

此调用的结果是item 3的背景变成红色。请注意,提供的索引是从0开始的,代表元素在jQuery对象中的位置,而不是在DOM树中的位置。

提供一个负数表示的元素的位置从集合中的末尾开始,而不是开头。例如:

1
$('li').eq(-2).css('background-color', 'red');

这一次清单item 4变成了红色,因为这是从集合的末尾开始的第二个。

如果指定索引位置的元素不存在,该方法构造了一个空的新jQuery对象,length属性值是0。

1
$('li').eq(5).css('background-color', 'red');

在这里,列表项都没有变成了红色。.eq(5)表示5个项的list的第六个元素,没有啊,亲!

例子:

为索引值是为 2 的 div 添加适当的 class,将其变成蓝色。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<style>
div { width:60px; height:60px; margin:10px; float:left;
border:2px solid blue; }
.blue { background:blue; }
</style>
<script src="https://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<script>
$("body").find("div").eq(2).addClass("blue");
</script>
</body>
</html>

Demo: