Javascript 如何通过it id删除我的ul中的所有li?
我有一份保险单Javascript 如何通过it id删除我的ul中的所有li?,javascript,jquery,list,Javascript,Jquery,List,我有一份保险单 我想通过it id删除ul中的所有li?快速肮脏、纯粹的js方法是: var ul = document.getElementById("ul_id"); ul.innerHTML = ""; 当然,这是假设没有其他非li子对象是您不想攻击的。您必须调用该方法 有关更多信息,请参阅文档。以下内容应适用: $'uiId'。删除'li' 您也可以使用空: *使用jQuery 您的意思是要删除所有具有相同id的li吗?这就是我对这个问题的解释 $('#id').remove() 请
我想通过it id删除ul中的所有li?快速肮脏、纯粹的js方法是:
var ul = document.getElementById("ul_id");
ul.innerHTML = "";
当然,这是假设没有其他非li子对象是您不想攻击的。您必须调用该方法 有关更多信息,请参阅文档。以下内容应适用: $'uiId'。删除'li' 您也可以使用空: *使用jQuery 您的意思是要删除所有具有相同id的li吗?这就是我对这个问题的解释
$('#id').remove()
请记住,在多个DOM元素上使用相同的ID被认为是不好的编程,应该始终避免!始终使用一个好的IDE来修改代码
您还可以使用类来删除。这是按类名删除分组元素的更好方法
$('.className').remove()
这两个函数将删除ID/类的所有元素
限制仅从LI中删除id/类
$('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();
};
如果要删除ul中具有特定ID的所有li元素:
$('#id-of-ul > li').remove();
由于ul只有li子项,因此您也可以使用$'id-of-ul'.empty删除其所有子项。所有jQuery内容:- 简单的旧javascript版本:
var ul = document.getElementById('<ul id>');
if (ul) {
while (ul.firstChild) {
ul.removeChild(ul.firstChild));
}
}
甚至:
ul.parentNode.replaceChild(ul.cloneNode(false), ul);
但是我更喜欢第一种方法。这样可以去除liuiId。传递给remove的选择器不选择子项,而是过滤初始集。带有id选择器的jQuery对象应该包含不超过一个元素。演示:第二个示例不正确-请参阅我对@Sumit的答案和/或@ThiefMaster:的确,为什么不呢?因为$'selector1'。删除'selector2'只是使用selector2过滤selector1的结果。它不过滤它的孩子。你说所有的李都有相同的id是什么意思?id属性必须是唯一的。是的,它应该是唯一的,但是-我以前见过使用相同id的糟糕编程。。。。。我这样解释他的问题。但我应该指出这是不好的实践,UL只能有LI子节点。@RobG-当然,理论上是的。不过我看到了另外一种情况,我不想做假设。@ThiefMaster它很棒,能做所有事情。@BenjaminGruenbaum但它能做数学吗?!
var ul = document.getElementById('<ul id>');
if (ul) {
while (ul.firstChild) {
ul.removeChild(ul.firstChild));
}
}
ul.innerHTML = '';
ul.parentNode.replaceChild(ul.cloneNode(false), ul);