【发布时间】:2012-09-22 10:18:16
【问题描述】:
我有一个通过 ajax 调用检索的数据集,我正在循环访问该数据集,并为该集中的每个项目附加一个 <li> 到页面上的列表。
如何在每个循环中获取附加的列表项,以便我还可以对其执行单独的操作
var myData = getData();
var list = $('#list');
$.each(myData, function(index, person){
list.append('<li>'+person.name+'</li>');
// On the just appended <li> element I want to set the data-person attribute
//var listitem = ???;
//listitem.data('person', person);
});
这里有一个小提琴来说明我的问题:http://jsfiddle.net/pcLt7/1/
【问题讨论】:
-
你不能直接设置吗,
list.append('<li data-person="">'+person.name+'</li>');? -
@smilledge 这只有在“person”是可序列化的情况下才有效。当它很大时很讨厌。
-
@Prinzhorn 对不起,我虽然你只是想存储单个字符串属性。对于这样的事情,你可能想看看像 Backbone.js 这样的框架。
-
@smilledge 我不是 OP。做某事总是有多种方法,而连接数据属性并不是其中一种美的方法。
标签: jquery append dom-manipulation