使用jquery将数据附加到新创建的行

使用jquery将数据附加到新创建的行,jquery,Jquery,我似乎无法使用jQuery向新创建的行添加新数据: $("table").append('<tr id="foo"><td>hi</td></tr>'); $("#foo").data("bar",1); console.log($("#foo").data()); // returns empty object: Object {} 我可以使用live或类似的软件吗?您的代码是正确的 可能的故障点有: $table选择器未找到匹配项。也许DOM

我似乎无法使用jQuery向新创建的行添加新数据:

$("table").append('<tr id="foo"><td>hi</td></tr>');
$("#foo").data("bar",1);
console.log($("#foo").data()); // returns empty object: Object {}
我可以使用live或类似的软件吗?

您的代码是正确的

可能的故障点有:

$table选择器未找到匹配项。也许DOM还没有准备好

页面上有多个ID为foo的元素。这是无效的

您使用的jQuery版本太旧,因此不支持.data。可疑

如果您没有确保DOM已经准备好,一个常见的解决方案是使用该方法

…或者作为快捷方式,您可以将回调直接传递给jQuery函数:

$(function() {
    $("table").append('<tr id="foo"><td>hi</td></tr>');
    $("#foo").data("bar",1);
    console.log($("#foo").data());
});
你的代码是正确的

可能的故障点有:

$table选择器未找到匹配项。也许DOM还没有准备好

页面上有多个ID为foo的元素。这是无效的

您使用的jQuery版本太旧,因此不支持.data。可疑

如果您没有确保DOM已经准备好,一个常见的解决方案是使用该方法

…或者作为快捷方式,您可以将回调直接传递给jQuery函数:

$(function() {
    $("table").append('<tr id="foo"><td>hi</td></tr>');
    $("#foo").data("bar",1);
    console.log($("#foo").data());
});

我使用方括号表示ID,jQuery无法识别我使用的ID选择器。我发现我可以使用斜杠来转义方括号,这允许jQuery选择我想要的行。

我使用方括号作为ID,jQuery无法识别我使用的ID选择器。我发现我可以使用斜杠来避开方括号,这样jQuery就可以选择我想要的行。

Patrick,谢谢你简洁的回答。我给出的例子是从我的实际例子中删减的,以简化事情,我发现我的问题与我如何命名id属性有关。我在使用PHP时使用方括号,而jQuery无法识别我使用的ID选择器。我发现我可以使用斜杠来转义方括号,这允许jQuery选择我想要的行。既然我自己找到了答案,我该如何处理它?@Travis:你可以继续添加你的解决方案作为答案,并接受它。在将来,最好是在问题中提供代码,并将其验证为问题的再现。只是要记住一些事;o、 ..另外,请记住,[]是HTML4中ID的无效字符。即使使用转义,它也会在某些浏览器中出现。Patrick,谢谢你简洁的回答。我给出的例子是从我的实际例子中删减的,以简化事情,我发现我的问题与我如何命名id属性有关。我在使用PHP时使用方括号,而jQuery无法识别我使用的ID选择器。我发现我可以使用斜杠来转义方括号,这允许jQuery选择我想要的行。既然我自己找到了答案,我该如何处理它?@Travis:你可以继续添加你的解决方案作为答案,并接受它。在将来,最好是在问题中提供代码,并将其验证为问题的再现。只是要记住一些事;o、 ..另外,请记住,[]是HTML4中ID的无效字符。即使使用转义,它也会在某些浏览器中崩溃。