Javascript 如何使用jQuery识别可能包含注释标记的空元素?
我试图识别一个空元素,该元素可能包含或不包含注释标记和/或空白 以下HTML结构在我使用的环境中很常见:Javascript 如何使用jQuery识别可能包含注释标记的空元素?,javascript,jquery,Javascript,Jquery,我试图识别一个空元素,该元素可能包含或不包含注释标记和/或空白 以下HTML结构在我使用的环境中很常见: <div class="container container-no-title"> <div id="dnn_ctr6735_ContentPane" class="container-padding DNNAlignright"> <!-- Start_Module_6735 --> <div id="dnn_ctr6735_
<div class="container container-no-title">
<div id="dnn_ctr6735_ContentPane" class="container-padding DNNAlignright">
<!-- Start_Module_6735 -->
<div id="dnn_ctr6735_ModuleContent">
<!-- End_Module_6735 -->
</div>
</div>
</div>
但这不包括空格或注释标记。我还发现了其他一些涉及空白的问题,但没有任何涉及注释标记的问题,我真的很想让jQuery的这个小片段保持简单
干杯,
Steve评论不是DOM树的一部分,因此您无法访问它们。评论不是DOM树的一部分,因此您无法访问它们。您尝试过:
$('.container-padding > div').each(function() {
if ($(this).text().match(/^\s*$/)) {
$(this).parent('.container-padding').remove();
}
});
甚至
$('.container-padding').each( function() {
if ($(this).text().match(/^\s*$/)) {
$(this).remove();
}
});
您是否尝试过:
$('.container-padding > div').each(function() {
if ($(this).text().match(/^\s*$/)) {
$(this).parent('.container-padding').remove();
}
});
甚至
$('.container-padding').each( function() {
if ($(this).text().match(/^\s*$/)) {
$(this).remove();
}
});
如果我理解正确,空元素应该没有子元素: $this.children.length==0
jQuery能帮你忽略空白和注释吗?如果我理解正确,空元素应该没有子元素: $this.children.length==0
jQuery能帮你忽略空白和注释吗?很高兴tv的解决方案适合你。还可以使用直接向上的DOM通过检查nodeType值来查找不是元素的节点 例如,在element.childNodes上迭代:
if (element.childNodes[i].nodeType != 1)
// node is not an element (text/whitespace or comment)
或:
查看更多信息。很高兴电视的解决方案适合您。还可以使用直接向上的DOM通过检查nodeType值来查找不是元素的节点 例如,在element.childNodes上迭代:
if (element.childNodes[i].nodeType != 1)
// node is not an element (text/whitespace or comment)
或:
查看更多信息。我已经解决了空白部分,但没有解决注释标记。那么为什么不为注释标记添加正则表达式测试并完成它呢?你的意思是如果有注释标记,你不想删除元素吗?在我和你的例子的测试中,这成功地匹配并移除了内部容器。第二种溶液击中了头部的钉子。。。非常感谢。我必须给你充分的信任-这个解决方案提出了另一个问题,但你肯定为这个问题提供了正确的答案…我已经,解决了空白,但是没有处理注释标记。那么为什么不为注释标记添加一个正则表达式测试并完成它呢?你的意思是如果有注释标记,你不想删除元素吗?在我和你的例子的测试中,这成功地匹配并移除了内部容器。第二种溶液击中了头部的钉子。。。非常感谢。我必须给你充分的信任-这个解决方案提出了另一个问题,但你肯定为这个问题提供了正确的答案…这是一个很好的平淡的答案,值得一些掌声,但我不相信没有解决方案!这是一个很好的直截了当的回答,值得一些掌声,但我不敢相信没有解决这个问题的办法!我认为这个想法是,如果它只包含一个空的子项、注释或空格,它应该被删除。我认为这个想法是,如果它只包含一个空的子项、注释或空格,它应该被删除。