获取td值返回undefined

时间:2016-04-25 00:49:14

标签: jquery html-table children

我正在尝试访问上下文之上的行的td值。我可以使用prev()方法获取上面的行,并使用children()方法获取子项,但是当我将带有选择器的find()附加到其上时,我无法找到我正在寻找特定的细胞。

当我从children()记录返回时,我看到了我在那里的所有表格数据。

为什么我找不到id?请参阅下面的代码。

$("#tblProducts tbody").on("click", "#btnSubmitUpdate", function (e) {
    var btnSaveUpdate = $(this);

    var tr = btnSaveUpdate.closest("tr");

    var trAbove = $(tr.prev()[0]);
    var desc = trAbove.children().find("#tdDescription").val();

    //desc is returning undefined
    console.log(desc);
});

2 个答案:

答案 0 :(得分:0)

我只需要使用find()直接使用trAbove而不使用子项。这解决了我的问题

答案 1 :(得分:0)

您可以这样使用:

$("#tblProducts tbody").on("click", "td", function() {
    var tdAttr = $(this).attr('class')
    alert($(this).closest('tr').find("td."+tdAttr).text())
    /*
      or $(this).text(), $(this).attr('class') or $(this).data('id')
    */
})

我写了一个示例代码:https://jsfiddle.net/nht9nvzy/