:lt(index)
选择匹配集合中所有索引值小于给定index
参数的元素。
jQuery(":lt(index)")
index:从 0 开始计数的索引值。
jQuery(":lt(-index)")
-index:从0开始计数的索引值。从最后一个元素开始反向计数。
index-related selectors(索引相关的选择)
这种索引相关的选择器(包括这个“小于”选择器)会在先前提供的选择器筛选出的元素基础上再进行筛选。进一步筛选的依据就是这个元素在原先匹配集合中的顺序。举例来说,如果一开始通过 class 选择器(.myclass
)选中了 4 个元素,然后这四个元素的索引值会被分配为0
到3
,之后就可以用这种索引值选择器来进一步筛选了。
请注意,由于JavaScript数组使用基于0的索引,这些选择器也是如此。这就是为什么$('.myclass:lt(1)')
选择器选择文档中第一个MyClass
类的元素,而不是选择不到任何元素。与此相反,:nth-child(n)
是基于1的索引的,以符合CSS规范。
jQuery 1.8以前的版本,:lt(index)
选择器不接收一个负数的index
值。
注意
- 因为
:lt()
是一个 jQuery 延伸出来的一个选择器,并且不是的CSS规范的一部分,使用:lt()
查询不能充分利用原生DOM提供的querySelectorAll()
方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用$("your-pure-css-selector").slice(0, index)
代替。
例子
查找索引值小于 4 的 td.
<!DOCTYPE html> <html> <head> <script src="https://www.lanmper.cn/static/js/jquery-3.5.0.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>