无法使用jQuery数据设置元素属性()

时间:2013-03-27 22:46:26

标签: javascript jquery jquery-data

我无法从JavaScript更新元素。我的项目相当复杂,但这里只是其中的一小部分:

myWebService(/*...*/)
.done(function (result) {
    var newRows = $(rows).clone();
    $('#drop-placeholder').after(newRows);
    $(newRows).data('test', 'ZZZZZZZZZZZZZZZZZZZZZZZ');
}

使用Chrome,我可以看到这些语句执行。但是,在监视窗口中使用newRows,我可以看到该属性永远不会被添加/更新。而且,确实,在完成调用后,我在页面上看不到指定的属性。

任何人都可以看到我可能缺少的东西。 rows(因此newRows)表示任意数量的表行元素。

2 个答案:

答案 0 :(得分:9)

.data()设置纯粹由jQuery处理的后台数据 - 它不设置HTML属性。

如果您尝试在data-test中设置<div data-test="stuff"></div>等属性,则需要使用.attr("data-test", variable)

答案 1 :(得分:2)

通过jQuery data 设置.data()不会设置属性,只设置基础数据存储。如果要更改属性,则必须使用.attr()