获取 td 值 returns 未定义

Getting td value returns undefined

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

当我从 children() 记录 return 时,我看到了其中的所有 table 数据。

为什么我按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);
});

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

你可以这样使用:

$("#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/