下标过滤,指的是根据元素集合的下标来过滤。在jQuery中,我们可以使用eq()方法来实现下标过滤。

语法:

$().eq(n)

说明:

n是一个整数,从0开始。当取值为正整数时,eq(0)获取的是第1个元素,eq(1)获取的是第2个元素,……,以此类推。

当取值为负整数时,eq(-1)获取的是倒数第1个元素,eq(-2)获取的是倒数第2个元素,……,以此类推。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.12.4.min.js"></script> <script> $(function () { $("li").eq(3).css("color", "red"); }) </script> </head> <body> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> <li>jQuery</li> <li>Vue.js</li> </ul> </body> </html>

浏览器预览效果如图所示。

分析:

eq()方法的下标是从0开始的,第1个li元素的下标是0,第2个li元素的下标是1,……,第n个元素的下标是n-1。因此,$("li").eq(3)表示选取第4个li元素。

$("li").eq(3).css("color", "red");

实际上,eq()方法跟:eq()选择器是非常相似的,上面这段代码可以等价于:

$("li:eq(3)").css("color", "red");

小伙伴们就会问了:“明明都有一个:eq()选择器了,为什么还要搞一个eq()方法出来呢?”实际上,选择器的形式是固定的,在某些情况下使用会力不从心,而过滤方法可以使得我们更加灵活地操作元素。换一句话来说:过滤方法其实就是对选择器的一种补充。对于过滤方法的优势,我们在实践的时候也会慢慢见识到。