从 ul 中删除 li 元素

问题描述 投票:0回答:4
javascript jquery html html-lists
4个回答
22
投票

尝试

var elem = document.getElementById('id');
elem.parentNode.removeChild(elem);

5
投票

如果获得该元素,则找到其父元素,然后删除该元素。来自家长的信息如下:

element = document.getElementById("element-id");
element.parentNode.removeChild(element);

必须经过家长,所以这是不可避免的。


3
投票

$('#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


0
投票

这将使

li
元素不可见:

document.getElementById("id_here").style.visibility = "hidden";

免责声明:它们仍将位于 DOM 中

要从 DOM 中删除元素,请使用 JQuery 的

.remove()
方法:

$("#id_here").remove();

http://api.jquery.com/remove/

© www.soinside.com 2019 - 2024. All rights reserved.