eq()
减少匹配元素的集合为指定的索引的哪一个元素。
.eq(index)
- index类型: Integer。一个整数,指示元素的位置,以0为基数。
.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');
此调用的结果是item 3的背景变成红色。请注意,提供的索引是从0开始的,代表元素在jQuery对象中的位置,而不是在DOM树中的位置。
提供一个负数表示的元素的位置从集合中的末尾开始,而不是开头。例如:
$('li').eq(-2).css('background-color', 'red');
这一次清单item 4变成了红色,因为这是从集合的末尾开始的第二个。
如果指定索引位置的元素不存在,该方法构造了一个空的新jQuery对象,length
属性值是0。
$('li').eq(5).css('background-color', 'red');
在这里,列表项都没有变成了红色。.eq(5)
表示5个项的list的第六个元素,没有啊,亲!
例子
为索引值是为 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="https://www.lanmper.cn/static/js/jquery-3.5.0.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>