繁体   English   中英

如果没有孩子则删除一些元素

[英]remove some elements if no children

如果没有孩子,我需要删除一些元素...

这将工作...

$$('*').each(function() {
    ($$(this).text().trim() === '') && $$(this).remove()
});

但是它将查找所有元素...我需要限制一些元素..所以我做到了..

elements.forEach(element => {
    $$(element).each(function() {
        ($$(this).text().trim() === '') && $$(this).remove()
    });
})

但这不起作用..

您可以使用:empty伪选择器来收集所有空元素:

$(':empty').remove(); // removes all the empty elements 

如果您针对某些特定元素,则给它一个类名,然后结合使用两者:

$('.theClass:empty').remove(); 

或者只使用特定元素的标记名

$('div:empty').remove(); // removes all the empty divs

您可以在jQuery选择器中使用idclasstag 请尝试以下方式:

 $("div:empty").remove(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div></div> <div><span>test</span></div> <div></div> 

我喜欢马蒙的方法。 如果只想将其应用于某些元素类型集合,则可以这样修改/简化它:

$("div,td,p,... and other elements").filter(":empty").remove();

抱歉,刚刚注意到,杰伊还提供了我的解决方案的一部分。 我不想在这里不必要地重复一遍,但是也许两者结合仍然有意义。

从当前文档中删除所有empty tags

$("*:empty").remove();

如果我正确理解您的要求,则应该:

if($("some selection").children() === undefined){
//do something
}

或作为功能:

function rmIfNoChild(jQobj){
    if(jQobj.children() === undefined){
      //do something
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM