【问题标题】:jquery find specific columns in a table column in tbody elementjquery在tbody元素的表列中查找特定列
【发布时间】:2016-12-17 08:59:03
【问题描述】:
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 中有上表并使用 jquery 来获取第一列和第三列。但是 find() 方法似乎不够灵活,无法在 tbody 元素中获取第一列和第三列

【问题讨论】:

    标签: javascript jquery html angularjs jquery-selectors


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      来自 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/

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

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

          我还没有尝试过,但它应该可以工作。随意使用 css3 选择器的所有壮丽。

          【讨论】:

          • 但我只在变量 html_table 中定义了 javascript 中的表。所以#table可能对jquery选择器不可用,我必须找到一些我相信的jquery方法
          猜你喜欢
          • 2020-02-25
          • 2021-07-16
          • 2017-10-03
          • 2021-09-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-11
          • 1970-01-01
          相关资源
          最近更新 更多