У меня есть список, я просто хочу удалить из него все дочерние узлы. Каков наиболее эффективный способ использования jquery? Это то, что у меня есть:Удалить все дочерние узлы от родителя?
<ul id='foo'>
<li>a</li>
<li>b</li>
</ul>
var thelist = document.getElementById("foo");
while (thelist.hasChildNodes()){
thelist.removeChild(thelist.lastChild);
}
есть ли ярлык, а не удаление каждого элемента по одному за раз?
----------- Редактировать ----------------
Каждый элемент списка имеет некоторые данные, прикрепленные к нему, и обработчик щелчка как это:
$('#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());
}
в конце концов, я мог бы добавить кнопки для каждого списка пункт тоже - так он выглядит пустым() является путь, чтобы убедиться, что нет утечек памяти?
Эффективно в каких условиях? Производительность, читаемость? – Gumbo
Добавляя к вопросам @ Gumbo, насколько важна память? Связаны ли эти элементы с обработчиками событий? –
Учитывая обновленный ответ, да, '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' удалял из '' .cache'' '' элемент.data ('grade', new Grade()); –