首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >链接jQuery选择器:lt和:gt

链接jQuery选择器:lt和:gt
EN

Stack Overflow用户
提问于 2009-07-16 12:23:09
回答 3查看 22K关注 0票数 16

我有一个超过9行的表。

如果我这样做:$('table tr:gt(3):lt(6)'),我应该在结尾收到3个或6个元素,为什么?是否所有选择器都应用于同一主选择,或者它们是否相继应用于不同的选择?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-16 12:29:36

它们是按顺序应用的,所以首先要过滤掉前四个元素(:gt(3)),然后过滤掉已经过滤的集合中第六个(:lt(6))元素之后的所有元素。

想象一下这个HTML:

代码语言:javascript
复制
<br/><br/>
<br/><br/>
<br/><br/>
<br/><br/>
<br/><br/>
<br/><br/>

然后执行以下jQuery:

代码语言:javascript
复制
$('br:gt(3):lt(6)').addClass('sel');

现在,您将拥有:

代码语言:javascript
复制
<br/><br/>
<br/><br/>
<br class="sel"/><br class="sel"/>
<br class="sel"/><br class="sel"/>
<br class="sel"/><br class="sel"/>
<br/><br/>
票数 32
EN

Stack Overflow用户

发布于 2009-07-16 12:32:47

我建议您改用slice()方法。

http://docs.jquery.com/Traversing/slice#startend

代码语言:javascript
复制
$('table tr').slice(2, 5).addClass("something");
票数 27
EN

Stack Overflow用户

发布于 2009-07-16 12:32:05

由于某些原因,:lt(6)将在该选择中被忽略,因此它将在这种情况下返回大于3的所有内容。

但是,如果您切换它,它将按预期工作

代码语言:javascript
复制
$('table tr:lt(6):gt(3)')

将返回2行(只有第4行和第5行介于6和3之间)。

**编辑:**使用v.1.3.2

而且,lt(6)并没有被忽略,它并没有像我期望的那样工作。所以:gt(3):lt(6)实际上会返回6个元素(如果你有足够的行,也就是说)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1137182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档