2

想象一下我有下表:

<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')

但没有运气。有没有办法前进?有什么解决办法吗?

4

1 回答 1

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;
});
于 2013-06-26T11:38:06.223 回答