返回值:jQueryeq(index)
仅返回匹配元素集合中指定的索引位置的元素。
-
1.1.2 新增eq(index)
index (Integer) 一个整数,代表元素位置的索引值(索引值从 0 开始计数)。 -
1.4 新增eq(-index)
-index (Integer) 一个负整数,代表元素逆向位置的索引值。
若一个 jQuery 对象代表了一个 DOM 元素集合,.eq()
方法会生成一个新的 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').eq(2).css('background-color', 'red');
上述代码的执行结果是第三个列表项的背景色变成了红色。注意,所提供的索引值是从 0 开始计数的,代表元素在 jQuery 对象中的位置,而不是其在 DOM 树中的位置。
若提供的位置是一个负数的话,则索引值代表从结尾开始计数,而不是从开头开始计数。例如:
$('li').eq(-2).css('background-color', 'red');
此次的执行结果是第四个列表项的背景变成了红色,因为它是倒数第二个列表项。
若指定的索引位置不存在,该方法会生成一个新的空 jQuery 对象,它的 length
属性值是 0。
$('li').eq(5).css('background-color', 'red');
上述代码的执行结果是,没有任何列表项会变成红色,因为 .eq(5)
代表的是第六个列表项。
示例:
为索引值是为 2 的 div 添加适当的 class,将其变成蓝色。
<!DOCTYPE html>
<html>
<head>
<style>
div { width:60px; height:60px; margin:10px; float:left;
border:2px solid blue; }
.blue { background:blue; }
</style>
<script src="jquery.min.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>