最佳答案
我有一个列表,我只想删除它的所有子节点。使用 jquery 最有效的方法是什么?这就是我所拥有的:
<ul id='foo'>
<li>a</li>
<li>b</li>
</ul>
var thelist = document.getElementById("foo");
while (thelist.hasChildNodes()){
thelist.removeChild(thelist.lastChild);
}
是否有捷径而不是一次一个地删除每个项目?
——————编辑————
每个列表元素都有一些附加的数据,以及类似下面这样的 click 处理程序:
$('#foo').delegate('li', 'click', function() {
alert('hi!');
});
// adds element to the list at runtime
function addListElement() {
var element = $('<li>hi</hi>');
element.data('grade', new Grade());
}
最后,我可能会为每个列表项添加按钮-因此,看起来似乎是空()的方式去,以确保没有内存泄漏?