我在jQuery中有一个问题,就是我有一个数组要附加到一个对象(id)这个函数也在打算之后如。
当我现在在jQuery中使用“each”函数时,我是这样做的。
$.each(childrenObj, function(index, value)
{
$( document.createElement('ol') )
.append(
$( document.createElement('li') )
.attr('id', 'list_'+ listItem )
.append(
$( document.createElement('div') )
.addClass('listContentItem')
.html( value.contentTitle )
)
)
.appendTo('#list_'+ ( listItem - 1 ) );
listItem++;
});
正如您所想象的那样,根据有多少人经过一遍又一遍地做同样的事情,它会产生<ol><li>test</li></ol>
。
我想要的是我希望它在一个对象中创建一个<ol>
之后我会在每个循环中添加<li>
并最终生成一个appendTo('#id')在我的愿望之后却无法解决问题,这会导致纯粹的设计问题。
希望有一些人能够找到解决方案,并且可以在路上帮助我。
答案 0 :(得分:2)
在你的循环外创建ol
(下面的代码未经测试,但应该可以正常工作)
var ol = $( document.createElement('ol') );
$.each(childrenObj, function(index, value)
{
ol.append(
$( document.createElement('li') )
.append(
$( document.createElement('div') )
.addClass('listContentItem')
.html( value.contentTitle )
)
);
});
ol.appendTo('#some_id');