jQuery nextUntil表遍历选择

rggaifut  于 2023-06-22  发布在  jQuery
关注(0)|答案(1)|浏览(125)

假设我有以下表格:

<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。
如果选定的单元格位于同一行中,则完全可以正常工作。当它们位于两个不同的行中时会出现问题。它做什么-它选择所有的细胞从“第一”行,这就是它。
它是不是向前移动超过"</tr><tr>"点,如果我理解正确的话。
我试过使用:

$("#"+first).nextUntil("#"+last).filter('tr')

但没找到。有办法继续前进吗?有什么解决办法吗?

uinbv5nw

uinbv5nw1#

是的,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;
});

相关问题