jquery数据标记不返回值
问题描述:
我的页面包含一个元素表。每一行都有一个数据标签(标识为“reckey”,因为这是数据库在我出现之前几年才建立起来的)。在构建表格时浏览我的javascript,我可以看到标签设置正确。即,该行:jquery数据标记不返回值
$("#tblActivities tbody tr:first").data("reckey")
返回值'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数据属性,你将不能够直接通过$('[data-reckey="122157"]')
选择它(即,因为它的jQuery存储jQuery对象中的数据,而不是HTML 。
所以,如果可以的话,可以直接放置data-reckey=""
成HTML,或通过迭代的元素,例如像这样:
$("#tblActivities tbody tr").each(function() {
if ($(this).data('reckey') === '122157') {
// found the element...
}
});
答
对于情况下别人的搜索确认了同样的问题后来:解决方案是在创建html时包含数据标记,而不是稍后通过jquery更改它。
是通过javascript或纯数据库'data-reckey = 122157'添加的数据?此外,你使用的是什么版本的jQuery? –
https://*.com/a/11673313/123422,可能吗? –
@UnamataSanatarai,我通过javascript添加数据标签,但可以改变它,将其包含在构建HTML的字符串中。至于版本,我使用的是2.2.0。 – mforbes