假设我有下面的表格:
<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)
,其中的第一个和最后一个只是一些任意的ID。
如果选定的单元格位于同一行中,则工作完全正常。当它们位于两个不同的行中时,会出现问题。它所做的-它从“第一”行中选择所有的单元格,仅此而已。
如果我正确理解的话,那就是,而不是,它越过了"</tr><tr>"
点。
我试过用:
$("#"+first).nextUntil("#"+last).filter('tr')
但没有运气。有办法继续前进吗?有什么解决办法吗?
发布于 2013-06-26 03:38:06
是的,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;
});
https://stackoverflow.com/questions/17318744
复制