给定 2 个选择
<div class="no-text example">
100
</div>
<div class="with-text example">
<span class="surprise"> 50 </span>
100
</div>
在这两种情况下,我都想在 .example
中获取数字,使用相同的选择器或者以某种方式知道 .no-text
和 之间的区别。带文字
执行 $(".example").text()
会得到 50 100
目前我正在试验 .clone().children().remove().end().text()
但我需要以某种方式知道它是 .no-text
和 .with-text
最佳答案
我不知道你想要怎样的数据,但是如果你想要一个包含所有文本节点文本的数组,那么你可以这样做。
创建一个空数组,然后遍历所有 .example
元素并检查每个“this”是否在其中有一个跨度。
如果您认为“惊喜”元素可以是任何东西,那么例如添加 || $(this).children("p").length
在 if()
检查的右边
var textArray = []
$(".example").each(function(){
if($(this).children("span").length) {
textArray.push($(this).text())
}
})
关于javascript - 知道 HTML 标签是否有文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32453257/