我有一个ul列表。
我想用它来删除我的ul中的所有li?
答案 0 :(得分:15)
所有jQuery的东西。 : - )
普通的旧版javascript:
var ul = document.getElementById('<ul id>');
if (ul) {
while (ul.firstChild) {
ul.removeChild(ul.firstChild));
}
}
你也可以设置:
ul.innerHTML = '';
甚至:
ul.parentNode.replaceChild(ul.cloneNode(false), ul);
但我更喜欢第一种方法。
答案 1 :(得分:12)
如果您要删除具有特定ID的li
内的所有ul
元素:
$('#id-of-ul > li').remove();
由于ul
只有li
个孩子,因此您也可以使用$('#id-of-ul').empty()
删除其所有子女。
答案 2 :(得分:4)
您也可以使用empty()
:
$('#listId').empty();
答案 3 :(得分:3)
*使用jQuery
您是不是要删除所有具有相同ID的li? (这是我解释问题的方式)
$('#id').remove()
(请记住,在多个DOM元素上使用相同的ID不被视为良好的编程,应始终避免!始终使用良好的IDE来清除代码)
您也可以使用该类删除(这是按类名删除分组元素的更好方法)
$('.className').remove()
这两个函数将删除ID / Class的所有元素 限制从LI中删除id / class'es
$('li #id').remove();
$('li .className').remove();
您还可以在JavaScript中创建一个函数。这将删除任何点击了itemDelete类的DOM。
$('.itemDelete').live("click", function() {
var id = $(this).parent().get(0).id;
$("#" + id).remove();
});
制作循环并调用函数?
function deleteLI(id) {
$("#" + id).remove();
};
答案 4 :(得分:0)
快速肮脏,纯粹的js方式是:
var ul = document.getElementById("ul_id");
ul.innerHTML = "";
这当然假设没有其他非li儿童,你不想破坏。
答案 5 :(得分:0)
您必须拨打remove()
方法。
// Removes a single element with the specified id
$('#id-of-the-element').remove();
查看文档以获取更多信息。
答案 6 :(得分:-1)
以下应该有效:
$('#uiId').remove('li');