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 です。

選択したセルが同じ行にある場合は、まったく問題なく動作します。問題は、それらが 2 つの異なる列に配置されている場合に発生します。機能 - 「最初の」行からすべてのセルを選択し、それだけです。

ちゃんと理解していれば、ポイントを超えて前進していません。"</tr><tr>"

私は使用してみました:

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

しかし、運がありません。前進する方法はありますか?解決策はありますか?

4

1 に答える 1

1

はい、次まで兄弟のみをトラバースします。

このようなものが動作するはずです:

$('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 に答える