JavaScript / jQuery检测div是否包含不包括子项的文本

时间:2017-12-12 01:03:38

标签: javascript jquery css

我需要验证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

但它似乎也检查了任何想要我不想发生的孩子

2 个答案:

答案 0 :(得分:4)

这已经在这里得到解答:jquery - get text for element without children text

还提到使用插件来完成只获取元素的文本而不是子元素:http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/

答案 1 :(得分:0)

这符合您的要求

&#13;
&#13;
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;
&#13;
&#13;