使用jQuery删除空<li>

Kam*_*mal 0 javascript jquery

可能重复:
使用jQuery删除Empty元素

我想<li>使用jQuery 删除空.我试图这样做,但我的代码不符合我的要求.我的代码如下所示.

脚本

$(document).ready(function(e) {
    $('#u li').each(function() {
        if($(this).html(' ')) {
            $(this).remove();
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

HTML

<ul id="u">
    <li>hi</li>
    <li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Wol*_*ram 5

您正在设置<li>一个空格字符的html ,而不是检查它是否为空.相反,试试这个(修剪可能是捕捉空格和换行符的好主意):

if(!$.trim($(this).html())) {
    $(this).remove();
}
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用jQuery的:empty选择器(这将检查所有子节点,包括文本节点):

$('#u li:empty').remove();
Run Code Online (Sandbox Code Playgroud)

但是,这与" 隐形文本节点 "的元素不匹配,例如<li> </li>(一个空格)→ jsfiddle.


cor*_*024 5

应该这么简单:

$('#u li:empty').remove()
Run Code Online (Sandbox Code Playgroud)