尝试
var elem = document.getElementById('id');
elem.parentNode.removeChild(elem);
如果获得该元素,则找到其父元素,然后删除该元素。来自家长的信息如下:
element = document.getElementById("element-id");
element.parentNode.removeChild(element);
必须经过家长,所以这是不可避免的。
$('#id').remove()
是删除单个元素的正确方法。请注意,元素 ID 在 html 中必须是唯一的,并且该调用必须包装在 DOM 就绪函数中。
这是一个基于您的 html 的工作示例。它循环遍历所有列表项并删除 id 不存在于数据对象中的项:
var data = {
attrib01: "Number 1",
attrib02: "Number 2",
attrib04: "Number 4"
};
$(document).ready(function() {
$("ul > li").each(function() {
alert(this.id in data); //check if value is defined
if(!(this.id in data)) {
$(this).remove();
// This also works:
//$('#'+this.id).remove();
}
});
});
也可以通过简单地执行以下操作来定位和删除单个元素(Demo):
$(document).ready(function() {
$("#attrib04").remove();
});
请小心您的 ID——它们必须完全匹配。
attrib04 != attrib4
这将使
li
元素不可见:
document.getElementById("id_here").style.visibility = "hidden";
免责声明:它们仍将位于 DOM 中
要从 DOM 中删除元素,请使用 JQuery 的
.remove()
方法:
$("#id_here").remove();