首页  >  问答  >  正文

javascript - 一个关于InnerText的问题?

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

例如:

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

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

迷茫迷茫2639 天前909

全部回复(1)我来回复

  • 三叔

    三叔2017-07-05 10:59:20

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

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

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

    现在只能想到这种方法。

    回复
    0
  • 取消回复