jsfiddle:http://jsfiddle.net/mAF6A/3/
我正在表中克隆模板TR,设置克隆的$.data()
属性并将其附加到表中。在我追加之后,它会丢失数据属性。我在这里做错了什么?
var arr = [{
name: "one",
id: 1},
{
name: "two",
id: 2},
{
name: "three",
id: 3}];
$.each(arr, function(i, item) {
var clone = $("tr.template").clone().removeClass("template");
clone.find(".value").html(item.name);
clone.data("number", item.id);
clone.find(".data").html("My data is: " + clone.data("number"));
$("table").append(clone);
});
$("tr[data-number='2']").remove();
答案 0 :(得分:4)
clone.data("number", item.id);
这不会向元素添加data-
属性。它将它存储在jQuery的内部“数据”对象中。
您需要将该属性实际添加到元素中。
clone.attr("data-number", item.id);
data
方法可以读取data-
属性,但无法写入。