如何遍历特定的表行

时间:2013-07-24 14:43:26

标签: jquery

我有一个表,我有一个jQuery对象,代表表中的一个TD。

我希望能够遍历表中的所有行,从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>

假设我有一个jQuery对象,表示带有H的td:

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

在这种情况下,我想循环最后3行。

所以有一个很好的succint jQuery给我相当于:

theTD.nextRow_to_lastRow.each(...

6 个答案:

答案 0 :(得分: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());
   });
}

检查控制台中的 demo

答案 1 :(得分: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>

答案 2 :(得分:0)

var all_td_in_a_table = $("#table-id td")

然后用for或foreach循环遍历它并搜索h / div / text或你想要的内容

答案 3 :(得分:0)

然而,你的情况非常复杂,我完全无法理解;希望这有助于: 使用

 var rows = $("#tableid tr td"); 

你将拥有所有细胞。现在,您可以遍历每个并检查值或文本。在jquery中的foreach:

 $(rows).each(function( index ) {
    console.log( index + ": " + $(this).text() );
 });

答案 4 :(得分:0)

您还可以使用仅针对最后三行的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

答案 5 :(得分:0)

在伊兰的帮助下,我最终到了那里:

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

其他回复将完成这项工作,但上面是我正在寻找的