删除内部没有<img/>的DOM生成的元素

时间:2016-08-05 07:29:05

标签: javascript jquery dom

在文档加载时,很多UserId元素被添加到DOM中。只需要其中一些。如果还在其中创建了.cell,则需要它们。如果未在<img>元素中创建<img>元素,则删除整个.cell元素。如果.cell已创建,则不执行任何操作。

我该怎么做?

<img>
<div class="cell">
    <div class="a-class">
        <div class="always-generated-div"></div>
        <img> <!-- if generated --->
    </div>
 </div>

2 个答案:

答案 0 :(得分:3)

您可以使用:has()选择器(以及此情况下的:not()选择器)按子元素选择父级。从那里,你可以remove()他们。试试这个:

$('.cell:not(:has(img))').remove();

Working example

答案 1 :(得分:1)

您可以使用:empty选择器

  

选择所有没有子元素的元素(包括文本节点)。

jq(".cell:empty").remove()