如何删除没有属性和子元素的元素?
问题描述:
我有一个元素列表,我想删除没有属性和子元素的div元素。如何删除没有属性和子元素的元素?
示例代码:
<div class="wrapper">
<div class="xx-1"></div>
<div id="yy-1"></div>
<div></div>
<div><h1>Hello World!</h1></div>
<div></div>
<div></div>
</div>
如何删除<div></div>
包装类里面?
答
如果去除的条件是:
- DIV标签
- 它们没有什么属性
- 没有孩子元素
,那么你可能需要一个过滤器:
$(".wrapper div").filter(function() {
return this.attributes.length == 0
&& this.childNodes.length == 0;
}).remove();
jQuery中的div:empty
选择器将删除没有子节点的所有DIV标记,包括具有属性且没有子节点的DIV标记。
答
你可以使用过滤器。
$(".wapper div").filter(function() {
return $(this).text() == "";
}).remove();
这将删除所有空div。
答
经过一番调查和审判,我已经得到了它:
$('div:not([class]):not([id]):not(:has(*))').remove();
编辑: OK,这仍然不是因为它只是检查的class
和id
属性的解决方案。
这适用于我。谢谢 – 2014-11-21 20:39:42