一个关于InnerText的问题?

我想用InnerText获得某个div节点的文本内容,但是这个节点内部有若干子节点,结果用InnerText会把它的子节点的文本也一起获取到,怎么解决?

例如:

<div id="div"><div>这不是我想要的<hr /></div>这才是我想要的</div>

我想获取到的是“这才是我想要的”这部分内容,何解?

阅读 2.7k
1 个回答

先用document.getElementById('div').childNodes
获取到所有子元素,再遍历nodeType是3的节点(3是文本节点),最后取他的nodeValue值。
注意这样写时

<div id="div">
    <div>这不是我想要的<hr /></div>这才是我想要的
</div>

childNodes会取到空的文本节点,要过滤。
还有innerText存在兼容性问题。

现在只能想到这种方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题