jquery 数据标签没有返回值

jquery data tag not returning values

我的页面包含 table 个元素。每行都有一个数据标签(标识为 "reckey",因为在我出现之前几年数据库就是这样设置的)。在构建 table 时逐步执行我的 javascript,我可以看到标签设置正确。即,这一行:

$("#tblActivities tbody tr:first").data("reckey")

returns 值为“122157”。但是当我尝试通过此行搜索该行时:

$("#tblActivities tbody tr[data-reckey='122157']")

我的浏览器显示它未定义。我也试过

$("#tblActivities tbody tr[attr-data-reckey='122157']")

而且只是为了 s 和 g,我试过了

$("#tblActivities tbody tr[data-reckey]"), which still returned undefined.

有人可以告诉我我缺少什么吗?如果它是一个简单的语法错误,我一点也不会感到惊讶,尽管我希望它是更深层次的东西,如果只是这样我就不会觉得自己是个彻头彻尾的白痴。

谢谢,

由于您使用 Javascript 添加数据属性,因此您将无法直接 select 它(即通过 $('[data-reckey="122157"]'),因为它 jQuery将数据存储在 jQuery 对象中,而不是 html.

因此,如果可以的话,要么将 data-reckey="" 直接放入 HTML,要么遍历元素,例如:

$("#tblActivities tbody tr").each(function () {
    if ( $(this).data('reckey') === '122157' ) {
        // found the element...
    } 
});

为了确认以防其他人稍后搜索同样的问题:解决方案是在创建 html 时包含数据标签,而不是稍后通过 jquery 更改它。