删除空UL

时间:2011-08-31 08:26:37

标签: jquery loops html-lists

我需要删除空的UL和那些包含空UL的LI,所以我使用这个脚本

    $("ul").each(function() {
            var elem = $(this);
            if (elem.children().length == 0) {
                elem.parent().remove();
            }
        }
    );

在运行脚本之后,我可能会因此获得空UL,因此我需要再次运行脚本。我可以以某种方式循环它,直到所有空的UL被删除?

2 个答案:

答案 0 :(得分:1)

我认为这应该适合你:

while($('ul:empty, li:empty').length) {
    $('ul:empty, li:empty').remove();
}       

JsBin Example

答案 1 :(得分:0)

也许我不完全理解你的问题,但如果你需要重新运行命令,你可以创建一个函数:

var clearUls = function(){
    $("ul").each(function() {
            var elem = $(this);
            if (elem.children().length == 0) {
                elem.parent().remove();
            }
        }
    );
}

然后你可以根据需要多次调用它。