想象一下,我有以下表格:
<table>
<tr>
<td id="1">1</td>
<td id="2">2</td>
<td id="3">3</td>
</tr>
<tr>
<td id="4">4</td>
<td id="5">5</td>
<td id="6">6</td>
</tr>
</table>
我需要能够选择范围。每个表格单元格都有唯一的ID。所以我用
$("#"+first).nextUntil("#"+last)
,其中first和last只是一些任意ID。
如果选定的单元格位于同一行,则完全正常。当它们位于两个不同的行中时会出现问题。它做了什么 - 它选择了&#34;第一个&#34;排,那就是它。
如果我理解正确的话,不向前"</tr><tr>"
点前进。
我尝试过使用:
$("#"+first).nextUntil("#"+last).filter('tr')
但没有运气。有没有办法继续前进?有没有解决方案?
答案 0 :(得分:1)
是的,nextUntil只遍历兄弟姐妹。
这样的事情应该有效:
$('table td').filter(function(){
return parseInt(this.id) => first && parseInt(this.id) <= last;
});
或者只使用tds的索引。这样您就不需要ID:
$('table td').filter(function(index){
return index => first && index <= last;
});