使用jquery删除没有子节点的div

17 css jquery

如何使用jquery删除没有子节点的SPECIFIC div(至少没有子节点不是空格).例如

<div id="outer">
    some content
    <div id="removeme"> 


    </div>
    some more content
</div>
Run Code Online (Sandbox Code Playgroud)

想要用id ="removeme"完全删除div.

Sop*_*ert 50

要删除id等于的元素removeme:

$("#removeme").remove();
Run Code Online (Sandbox Code Playgroud)

若要删除元素id等于removeme只有当它是空的:

$("#removeme:empty").remove();
Run Code Online (Sandbox Code Playgroud)

删除所有空<div>s:

$("div:empty").remove();
Run Code Online (Sandbox Code Playgroud)

编辑:如果它不是空的,但有空格:

if($.trim($("#removeme").text()) == "") {
  $("#removeme").remove();
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*han 6

我去了:

$('#outer > div').filter(function (index) { 
    return $(this).children().length < 1; 
}).remove();
Run Code Online (Sandbox Code Playgroud)

这说:

  • 给我所有#outer的div孩子
  • 使用过滤器去掉任何有子节点的东西
  • 删除我们仍然选择的任何内容

遗憾的是,如果它包含文本,这将删除div,这可能不是原始海报所希望的.纯文本不算作孩子.