jQuery的表行中的每个环[复制](jQuery each loop in table row [

2019-06-24 03:41发布

可能重复:
如何循环使用jQuery一表行和访问某些单元格的值?

我有这样的:

<table id="tblOne">
            <tbody>
                <tr>
                    <td>
                        <table id="tblTwo">
                            <tbody>
                                <tr>
                                    <td>
                                        Items
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Prod
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td>
                        Item 1
                    </td>
                </tr>
                <tr>
                    <td>
                        Item 2
                    </td>
                </tr>
            </tbody>
        </table>

我已经写了jQuery遍历每个TR喜欢:

$('#tblOne tr').each(function() {...code...});

但问题是,它遍历“tblTwo”也是“TR”我不想要的。 任何人都可以请建议的东西来解决这个问题?

Answer 1:

jQuery中只使用

$('#tblOne > tbody  > tr').each(function() {...code...});

使用直接选择儿童( > ),你会走过去直接后代(不是所有后代)


VanillaJS你可以使用document.querySelectorAll()并使用了走行forEach()

[].forEach.call(document.querySelectorAll('#tblOne > tbody  > tr'), function(tr) {
    /* console.log(tr); */
});


Answer 2:

只是一个建议:

我建议你使用DOM表的实现,这是非常简单的,易于使用,你真的不需要jQuery的完成这个任务。

var table = document.getElementById('tblOne');

var rowLength = table.rows.length;

for(var i=0; i<rowLength; i+=1){
  var row = table.rows[i];

  //your code goes here, looping over every row.
  //cells are accessed as easy

  var cellLength = row.cells.length;
  for(var y=0; y<cellLength; y+=1){
    var cell = row.cells[y];

    //do something with every cell here
  }
}


Answer 3:

使用即时孩子选择 >

$('#tblOne > tbody  > tr')

说明:选择由“父母”指定元素的“小孩”中规定的所有直接子元素



文章来源: jQuery each loop in table row [duplicate]