在jQuery中附加问题

时间:2012-09-26 10:53:49

标签: javascript jquery append each

我在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')在我的愿望之后却无法解决问题,这会导致纯粹的设计问题。

希望有一些人能够找到解决方案,并且可以在路上帮助我。

1 个答案:

答案 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');