使用jQuery选择表中两个元素之间的行
Posted
技术标签:
【中文标题】使用jQuery选择表中两个元素之间的行【英文标题】:Select rows between two elements in a table with jQuery 【发布时间】:2013-07-28 00:08:15 【问题描述】:我有一张桌子。我想用 jQuery 选择两个选定元素之间的所有 tr
元素。
我的尝试是这样的:
$('tr:has(td.selected:first)').nextUntil('tr:has(td.selected:last)').
addClass('test');
但我选择了最后一个元素。为什么?
在这里提琴:http://jsfiddle.net/k4fMM/
【问题讨论】:
【参考方案1】:其实这很容易:(我仍然愿意接受其他方式)
$('tr:has(td.selected):first').nextUntil('tr:has(td.selected):last').
addClass('test');
更新小提琴:http://jsfiddle.net/V6fC3/
【讨论】:
【参考方案2】::first
和 :last
选择器在您使用它们的上下文中不起作用,因为在每个 has()
块中只有一个 td.selected
实例匹配,所以最终发生的就是一切在第一个 tr:has(.selected)
到第二个 tr:has(.selected)
之间匹配,但是第二个 tr:has(.selected)
之后的所有内容都匹配以及。
解决此问题的最佳方法可能是执行以下操作: http://jsfiddle.net/mC5qz/
【讨论】:
以上是关于使用jQuery选择表中两个元素之间的行的主要内容,如果未能解决你的问题,请参考以下文章