:lt() Selector


lt selector

描述: 选择匹配集合中所有索引值小于给定index参数的元素。

  • 添加的版本: 1.0jQuery( ":lt(index)" )

    index: 从 0 开始计数的索引值。

  • version added: 1.8jQuery( ":lt(-index)" )

    -index: 从0开始计数的索引值。 从最后一个元素开始反向计数。

index-related selectors(索引相关的选择)

这种索引相关的选择器(包括这个“小于”选择器)会在先前提供的选择器筛选出的元素基础上再进行筛选。进一步筛选的依据就是这个元素在原先匹配集合中的顺序。举例来说,如果一开始通过 class 选择器 (.myclass ) 选中了 4 个元素,然后这四个元素的索引值会被分配为 03,之后就可以用这种索引值选择器来进一步筛选了。

请注意,由于JavaScript数组使用基于0的索引 ,这些选择器也是如此。这就是为什么$('.myclass:lt(1)')选择器选择文档中第一个MyClass类的元素,而不是选择不到任何元素。与此相反,:nth-child(n)基于1的索引的,以符合CSS规范。

jQuery 1.8以前的版本,:lt(index)选择器不接收一个负数的index值。

Additional Notes(其他注意事项):

  • 因为 :lt() 是一个 jQuery 延伸出来的一个选择器 , 并且不是的CSS规范的一部分, 使用:lt()查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用$("your-pure-css-selector").slice(0, index)代替。

例子:

查找索引值小于 4 的 td.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
<script src="http://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<table border="1">
<tr><td>TD #0</td><td>TD #1</td><td>TD #2</td></tr>
<tr><td>TD #3</td><td>TD #4</td><td>TD #5</td></tr>
<tr><td>TD #6</td><td>TD #7</td><td>TD #8</td></tr>
</table>
<script>$("td:lt(4)").css("color", "red");</script>
</body>
</html>

Demo: