[英]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
选择器中使用id
, class
或tag
。 请尝试以下方式:
$("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.