如果必須的。創建所有的div的長字符串,使用第二個$.each-loop
找到的div,並設置數據對他們的:在每個$.each()
內
var str = ''; $.each(/* your code */); $('body').append(str);
// find all divs with a data-one-attribute and iterate over them
$('body div[data-one]').each(function(i, div) {
var d = data.list[i]; // find the associated item of data.list
$.data(div, 'data', {one: d.one, two: d.two}); // set the data on this div
});
較短的方式創建步驟一個真正的div元素,集上的數據它將div添加到一個jQuery對象中,然後將已填充的jQ對象添加到body:
var divs = $(); // create an empty jQuery object being the container
$.each(data.list, function(i, r) {
var d = $('<div data-one="' + r.one + '">Element</div>'); // create one div-element
// since d is an jQuery object, use d.data() to set the data on it:
d.data('data', {one: r.one, two: r.two});
divs.add(d); // put the div into the container
});
$('body').append(divs); // append the whole container to body
如果你想在第二個解決方案中使用$.data()
,只需更換d.data(...)
有:
$.data(d[0], 'data', {one: r.one, two: r.two});
什麼是'div'在你的第二個例子嗎? – 2014-09-22 23:24:54
@FelixKling,只是例子,我不能使用它,因爲它是字符串。 – Woohoo 2014-09-22 23:29:11
所以'div'和'str'基本相同?這是缺少的信息。 (我想這完全從閱讀這個問題來看很清楚,但不是看過代碼) – 2014-09-22 23:34:42