动态手风琴最后一个元素在更新后未删除

时间:2012-08-17 22:13:59

标签: javascript jquery jquery-ui

我有一个像下面这样的动态手风琴,我点击后删除数据并重新创建手风琴(即从服务器重新填充来自新数据的功能数据)时为每个结果添加了一个编辑按钮,它工作正常,直到手风琴中的最后一个元素,即使被删除后的最后一个元素仍然是持久的并保留在列表中。虽然数据为空(无法对其执行任何操作)。我很困惑为什么会这样。所以基本上手风琴中总会有一个元素

data是一个包含多个对象的JSon对象。

{data [0]:name:{},user:{} data [1]:name:{},user:{} //完成索引以解释结构 。 } 等

function data(data){
    var parent = document.getElementById('accordion');
    //parent.setAttribute('class','bookListItem')
    removeChildrenFromNode(parent);
    for(var i=0 ; i < data.length ; i++)
        {
        var listItem = document.createElement('h3');
        parent.appendChild(listItem);
        listItem.setAttribute('style','height:110px');


        var link = document.createElement('a');
        listItem.appendChild(link);
        link.setAttribute('href','#');
        link.innerHTML = data[i].first.name + " by " + data[i].last.name;

        var pic = document.createElement('img');
        pic.setAttribute('src',data[i].book.pictureURL);
        pic.setAttribute('style','float:left;height:97px;width:64px"');
        link.appendChild(pic);

        var innerDiv = document.createElement('div');
        parent.appendChild(innerDiv);
        var innerList = document.createElement('ul');
        innerDiv.appendChild(innerList);
        //setting attributes
 edit.innerHTML ="Edit"
         edit.onclick=(function(i){   
         return function(){delete(data[i]);  
         }})(i);
         innerDiv.appendChild(edit);

    }
    $('#accordion').accordion('destroy').accordion(
        {
            collapsible:true,
            active:false
        });

}

0 个答案:

没有答案