4

テーブルがあり、テーブル内の TD の 1 つを表す jQuery オブジェクトがあります。

jQuery'd TD が入っている行から次の行まで、テーブル内のすべての行をループできるようにしたいと考えています。

したがって、次のようなテーブルがある場合:

<table>
  <tr><td>A</td><td>B</td><td>C</td></tr>
  <tr><td>D</td><td>E</td><td>F</td></tr>
  <tr><td>G</td><td>H</td><td>I</td></tr>
  <tr><td>J</td><td>K</td><td>L</td></tr>
  <tr><td>M</td><td>N</td><td>O</td></tr>
  <tr><td>P</td><td>Q</td><td>R</td></tr>
</table>

そして、H を含む td を表す jQuery オブジェクトがあるとします。

var theTD = $(...the H cell...);

この場合、最後の 3 行をループ処理します。

それで、私に同等のものを与える素敵な簡潔なjQueryがあります:

theTD.nextRow_to_lastRow.each(...
4

6 に答える 6

1

私はあなたがこのようなものを求めていると思います:

$('td').filter(function() {
  return $(this).text() == 'H';
}).parent().nextAll().each(function() {
  console.log(this);
});

これにより、次の行が得られます。

<tr><td>J</td><td>K</td><td>L</td></tr>
<tr><td>M</td><td>N</td><td>O</td></tr>
<tr><td>P</td><td>Q</td><td>R</td></tr>
于 2013-07-24T14:57:24.513 に答える
1

このようなもの?

var td = $('td:contains("H")');

var tr = $('tr').length;
for(i= td.parent().index()+1; i < tr;i++){
   $.each($('tr:eq('+i+') td'),function(){
      console.log($(this).text());
   });
}

コンソールでデモを確認する

于 2013-07-24T14:54:36.387 に答える
0
var all_td_in_a_table = $("#table-id td")

次に、 for または foreach でループして、 h/div/text または必要なものを検索します

于 2013-07-24T14:48:40.010 に答える
0

最後の 3 行のみを対象とする for ループを使用することもできます。

var table = document.getElementById('table'),
    row = table.querySelectorAll('tr');

for(i = 0; i < row.length; i++) {
    if (i >= 3) {
        console.log(row[i]);
    }
}

JSFIDDLE

于 2013-07-24T15:02:09.510 に答える
0

イランの助けを借りて、私は最終的にそこにたどり着きました:

theTD.parent().find("~ tr").each(

他の返信は仕事をしますが、上記は私が探していたものです

于 2013-07-24T15:12:56.480 に答える