使用jQuery选择表中两个元素之间的行

时间:2013-07-27 22:28:08

标签: jquery html-table jquery-selectors

我有一张桌子。我想用jQuery选择两个选定元素之间的所有tr元素。

我的尝试是这样的:

$('tr:has(td.selected:first)').nextUntil('tr:has(td.selected:last)').
    addClass('test');

但我选择了最后一个元素。为什么?

在这里小提琴:http://jsfiddle.net/k4fMM/

2 个答案:

答案 0 :(得分:2)

实际上这很简单:(我仍然愿意采用其他方式)

$('tr:has(td.selected):first').nextUntil('tr:has(td.selected):last').
    addClass('test');

更新了小提琴:http://jsfiddle.net/V6fC3/

答案 1 :(得分:0)

:first:last选择器在您正在使用它们的上下文中不起作用,因为在每个td.selected块中只匹配has()的一个实例,最终发生的事情是第一个tr:has(.selected)到第二个tr:has(.selected)之间的所有内容匹配,但是第二个tr:has(.selected)匹配之后的所有内容井

解决这个问题的最佳方法可能是做以下事情: http://jsfiddle.net/mC5qz/