2

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

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

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

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

4

2 回答 2

9

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

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

于 2013-03-27T22:49:26.047 回答
2

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

于 2013-03-27T22:50:45.213 回答