我需要验证DIV内部是否有某些文本但不在其子代内部,例如,请参阅此示例
<div id='one'>
<div id='two'>Abc</div>
</div>
<div id='three'>xyz
<div id='four'></div>
</div>
如果我悬停/点击元素one
我想获得false
(无文字),但如果我悬停元素three
我想获得true
我尝试使用
$('#one').text().trim().length > 0
但它似乎也检查了任何想要我不想发生的孩子
答案 0 :(得分:4)
这已经在这里得到解答:jquery - get text for element without children text
还提到使用插件来完成只获取元素的文本而不是子元素:http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/
答案 1 :(得分:0)
这符合您的要求
window.onload=function(){
var two = document.getElementById('two').textContent;
console.log(two.trim()=='');
var three = document.getElementById('three').textContent;
console.log(three.trim()=='');
}
&#13;
<div id='one'>
<div id='two'>Abc</div>
</div>
<div id='three'>
<div id='four'></div>
</div>
&#13;