如果没有孩子,我需要删除一些元素......
这将有效...
$$('*').each(function() {
($$(this).text().trim() === '') && $$(this).remove()
});
但它会查找所有元素......我需要限制一些元素..所以我做了这个..
elements.forEach(element => {
$$(element).each(function() {
($$(this).text().trim() === '') && $$(this).remove()
});
})
但它不起作用..
答案 0 :(得分:4)
您可以使用:empty
伪选择器来收集所有空元素:
$(':empty').remove(); // removes all the empty elements
如果你定位某些特定的元素,那么要给它一个类名并在结合中使用它们:
$('.theClass:empty').remove();
或者只使用特定元素的 标记名 :
$('div:empty').remove(); // removes all the empty divs
答案 1 :(得分:2)
您可以使用id
选择器中的class
,tag
或jQuery
。请尝试以下方式:
$("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>
答案 2 :(得分:0)
我喜欢Mamun的方法。如果要将其应用于某些元素类型集合,则只能修改/简化它:
$("div,td,p,... and other elements").filter(":empty").remove();
对不起,刚才注意到,周杰伦也提供了我解决方案的一部分。我不想在这里不必要地重复一些事情,但也许两者的结合仍然是相关的。
答案 3 :(得分:0)
从当前文档中删除所有
empty tags
$("*:empty").remove();
答案 4 :(得分:0)
如果我理解你的要求,你应该rty:
if($("some selection").children() === undefined){
//do something
}
或作为一种功能:
function rmIfNoChild(jQobj){
if(jQobj.children() === undefined){
//do something
}
}