下标过滤,指的是根据元素集合的下标来过滤。在 jQuery 中,我们可以使用 eq() 方法来实现下标过滤。
语法:
n 是一个整数。当 n 取值为 0 或正整数时,eq(0) 获取的是第 1 个元素,eq(1) 获取的是第 2 个元素,……,以此类推。当 n 取值为负整数时,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>
预览效果如图 1 所示。
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() 方法出来呢?”实际上,选择器的形式是固定的,在某些情况下使用效果会不佳,而过滤方法可以让我们更加灵活地操作元素。换一句话来说:过滤方法其实就是对选择器的一种补充。对于过滤方法的优势,我们在实践的时候会慢慢见识到。