JQuery循环通过tbody> tr获取子元素

时间:2018-05-31 22:28:13

标签: jquery html

我试图循环我的tbody并获取tr元素值。 我的表格示例:

<table id='table-draggable1' class="table">
  <tbody id="myTbody" class="connectedSortable">
    <tr>
      <input type="hidden" value="1"  />
      <td>Test1</td>
      <td><input class="btn btn-danger" value=" Remove " onclick="removeFromAllocation(this)"  /></td>
    </tr>
    <tr>
      <input type="hidden" value="1"  />
      <td>Test2</td>
      <td><input class="btn btn-danger" value=" Remove " onclick="removeFromAllocation(this)" /></td>
    </tr>
    <tr>
      <input type="hidden" value="1"  />
      <td>Test3</td>
      <td><input class="btn btn-danger" value=" Remove " onclick="removeFromAllocation(this)" /></td>
    </tr>
  </tbody>
</table>

然后使用jquery我可以遍历tbody,但是如何获得第一个输入值和第一个td文本。例如,第一个循环我想得到值= 1和text = Test1

$('#myTbody > tr').each(function() {
    console.debug($(this));
});

由于

2 个答案:

答案 0 :(得分:2)

您可以使用find方法获取所需的子标记,然后使用其他特定方法进一步到达您需要的位置。这里列出了遍历DOM的所有jQuery方法:https://api.jquery.com/category/traversing/

例如,

eq允许您在搜索的上下文中按索引选择元素。https://api.jquery.com/eq/

$('#myTbody > tr').each(function() {
    var value = $(this).find('input').val();
    var text = $(this).find('td').eq(0).text();
});

小提琴:https://jsfiddle.net/35c1yc10/

答案 1 :(得分:1)

您可以使用jQuery的children()选择器。可以在https://api.jquery.com/children/

找到文档

以下是可能对您有帮助的小提琴:

https://jsfiddle.net/divekarvinit/8x0yL6aL

以下代码为您解决问题:

console.log($(this).children().first().val());
console.log($(this).children('td').eq(0).html());