这是我的情景:
我需要检查一个div元素是否没有文本并且有br标签,如果是,则将其删除。
我尝试了以下代码:
这个方法可以起作用,但是它会移除所有不仅仅包含文本的div标签,所以我所有在div中的图片和其他html标签都被移除了。
我尝试过最后一种方法,但是我发现这个方法没有考虑到可能存在在div中的文本。
<div><br><div>
<div>
line one.
<br>
line two.
</div>
<div><img src="example.jpg"></div>
<div><br></div>
<div><iframe></iframe></div>
<div><br></div>
我需要检查一个div元素是否没有文本并且有br标签,如果是,则将其删除。
我尝试了以下代码:
if ($('div').is(':empty')) {
$('div').remove();
}
我认为这不能起作用是因为empty()并不意味着“没有文本”。
我还尝试了这个:
$('div').filter(function() {
return $.trim($(this).text()) === '';
}).remove();
这个方法可以起作用,但是它会移除所有不仅仅包含文本的div标签,所以我所有在div中的图片和其他html标签都被移除了。
我尝试过最后一种方法,但是我发现这个方法没有考虑到可能存在在div中的文本。
$('div br:only-child').remove();
我对jQuery还很新,向大家求助可能有些麻烦。提前感谢!