我有一个程序
newRows = JSON.parse(newRowsStr);
var wsr = $('#work-sample-row');
for (var i = 0, n = newRows.length; i < n; ++i)
{
var thisBox = boxHtml;
var thisNewRow = newRows[i];
thisBox.find('.work-item-preview-outer').css('background-image', thisNewRow['imageurl']);
thisBox.find('.work-title').text(thisNewRow['title']);
thisBox.find('.work-descr-short').text(thisNewRow['sumsmall']);
wsr.append(thisBox);
setTimeout(function(){thisBox.css('opacity','0');}, i * 200)
}
,其中
boxHtml = $('<div class="mb-30-for-mobile col-xxs-12 col-xs-6 col-sm-4 col-md-3 col-lg-3 work-column" style="opacity:0;"><a class="work-link-wrap"><div class="work-item-preview-outer"><div class="work-item-preview-inner"><h3 class="work-title"></h3><p class="work-descr-short"></p></div></div></a></div>');
以及在循环内部要做的是创建boxHtml
的副本并添加一些文本和样式,然后使每个副本成为$('#work-sample-row')
的子项。我没有在控制台中看到任何错误,但我也没有看到孩子们被添加。是什么给了什么?
答案 0 :(得分:0)
在执行thisBox = boxHtml
时,您没有创建副本,只是创建了对boxHtml的新引用。如果boxHtml是jQuery包装元素,请尝试thisBox = boxHtml.clone();
如果它不是包装元素,请thisBox = $(boxHtml).clone();