0

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

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

{data[0]: name:{} , user:{} data[1]: name:{} , user:{} // 索引是为了解释结构。。} ETC

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
        });

}
4

0 回答 0