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