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