我有一张桌子。我想tr
用 jQuery 选择两个选定元素之间的所有元素。
我的尝试是这样的:
$('tr:has(td.selected:first)').nextUntil('tr:has(td.selected:last)').
addClass('test');
但我选择了最后一个元素。为什么 ?
在这里小提琴:http: //jsfiddle.net/k4fMM/
我有一张桌子。我想tr
用 jQuery 选择两个选定元素之间的所有元素。
我的尝试是这样的:
$('tr:has(td.selected:first)').nextUntil('tr:has(td.selected:last)').
addClass('test');
但我选择了最后一个元素。为什么 ?
在这里小提琴:http: //jsfiddle.net/k4fMM/
实际上这很容易:(我仍然对其他方式持开放态度)
$('tr:has(td.selected):first').nextUntil('tr:has(td.selected):last').
addClass('test');
更新小提琴:http: //jsfiddle.net/V6fC3/
:first
and选择器在:last
您使用它们的上下文中不起作用,因为td.selected
每个块中只有一个实例匹配has()
,所以最终发生的是第一个tr:has(.selected)
到第二个之间的所有内容tr:has(.selected)
都匹配,但第二个之后的所有内容tr:has(.selected)
都是匹配为好。
解决此问题的最佳选择可能是执行以下操作:http: //jsfiddle.net/mC5qz/