jquery 在 tbody 元素的 table 列中查找特定列

jquery find specific columns in a table column in tbody element

var html_table =
    "<table class='table'>" +
    "<thead>" +
    "<tr><th>#</th><th>First</th><th>Second</th><th>Third</th><th>Fourth</th><th>Fifth</th></tr></thead>" +
    "<tbody>" +
    "<tr><td ></td><td></td><td>Pitt</td><td>35</td><td>New York</td><td>USA</td></tr>" +
    "</tbody>" +
    "</table>";

var $html_table = $(html_table);
var first_column= $html_table.find('???');
var second_column= $html_table.find('???');

所以我在 javascript 中有上面的 table 并使用 jquery 获得第一和第三列。但是 find() 方法似乎不够灵活,无法在 tbody 元素中获取第一列和第三列

假设您的 table 有 id="table"。你可以这样做:

var first_column = $('#table:first-child');
var second_column = $('#table:nth-child(2)');

我还没有尝试过,但应该可以。随意使用 css3 选择器,尽情享受它们的辉煌。

您可以使用 .eq 函数获取该列。

$html_table.find('tbody tr td').eq(0) // First element
$html_table.find('tbody tr td').eq(2) // third element

在eq函数中,使用索引,从0开始。

您可以使用下一个代码访问所有列的 td:

var columnNumber = 0; //first column
$.each($html_table.find("tr"), function(){
  var tdOfCurrentColumn = $(this).children().eq(columnNumber);
})

来自 Chris,我认为使用 CSS3 选择器更容易。

var first_column= $("tbody td:nth-child(1)",$html_table)
var second_column=  $("tbody td:nth-child(2)",$html_table)

看看这个。 https://jsfiddle.net/nvg4f2at/1/