我无法从JavaScript更新元素。我的项目相当复杂,但这里只是其中的一小部分:
myWebService(/*...*/)
.done(function (result) {
var newRows = $(rows).clone();
$('#drop-placeholder').after(newRows);
$(newRows).data('test', 'ZZZZZZZZZZZZZZZZZZZZZZZ');
}
使用Chrome,我可以看到这些语句执行。但是,在监视窗口中使用newRows
,我可以看到该属性永远不会被添加/更新。而且,确实,在完成调用后,我在页面上看不到指定的属性。
任何人都可以看到我可能缺少的东西。 rows
(因此newRows
)表示任意数量的表行元素。
答案 0 :(得分:9)
.data()
设置纯粹由jQuery处理的后台数据 - 它不设置HTML属性。
如果您尝试在data-test
中设置<div data-test="stuff"></div>
等属性,则需要使用.attr("data-test", variable)
。
答案 1 :(得分:2)
通过jQuery data
设置.data()
不会设置属性,只设置基础数据存储。如果要更改属性,则必须使用.attr()
。