Sim*_*nut 5 html javascript css jquery dom
我希望能够检查元素中是否包含任何文本。如果元素中没有任何文本,我希望能够删除该元素。
但是,这个 dom 元素可能包含一个或多个子元素,而这些子元素也可能包含其他子元素。所以我希望能够遵循元素的 dom 树并搜索其中的所有元素以查找文本。
像这样的东西:
<div id="myElement">
<span></span>
<span></span>
<span>
<span></span>
<span>b</span>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
现在 div 直接没有任何文本,但是它的孩子有。如何检查整个 div 中是否有任何文本?
编辑:
显然我​在其中一个跨度中有一个 字符,我知道它是零宽度的空白。所以基本上即使没有文本,jQuery text() 也会将它作为一个来查找并返回 false。
我该如何解决?
jQuery 的text()方法包括后代,因此:
$('.my-element-class').each(function() {
if ( $(this).text() === '' ) {
$(this).remove();
}
});
Run Code Online (Sandbox Code Playgroud)
要单独检查所有后代元素,我们必须变得更复杂一些:
$('.my-element-class').find('span').andSelf().each(function() {
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5151 次 |
| 最近记录: |