我有一個表。我想用jQuery選擇兩個選定元素之間的所有tr
元素。用jQuery在表格中的兩個元素之間選擇行
我的嘗試是這樣的:
$('tr:has(td.selected:first)').nextUntil('tr:has(td.selected:last)').
addClass('test');
但我選擇了最後一個元素。爲什麼?
小提琴這裏:http://jsfiddle.net/k4fMM/
我有一個表。我想用jQuery選擇兩個選定元素之間的所有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');
的:first
和:last
選擇在您使用它們的上下文中不起作用,因爲每個has()
塊中只有一個td.selected
實例匹配,所以最終會發生什麼是第一個tr:has(.selected)
與第二個tr:has(.selected)
之間的所有內容匹配的,但是之後的所有內容都是tr:has(.selected)
匹配的以及。
解決這個問題最好的辦法可能是做這樣的事情: http://jsfiddle.net/mC5qz/