我有一张桌子。我想用jQuery选择两个选定元素之间的所有tr
元素。
我的尝试是这样的:
$('tr:has(td.selected:first)').nextUntil('tr:has(td.selected:last)').
addClass('test');
但我选择了最后一个元素。为什么?
在这里小提琴:http://jsfiddle.net/k4fMM/
答案 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/