我想用InnerText获得某个p节点的文本内容,但是这个节点内部有若干子节点,结果用InnerText会把它的子节点的文本也一起获取到,怎么解决?
例如:
<p id="p"><p>这不是我想要的<hr /></p>这才是我想要的</p>
我想获取到的是“这才是我想要的”这部分内容,何解?
业精于勤,荒于嬉;行成于思,毁于随。
先用document.getElementById('p').childNodes 获取到所有子元素,再遍历nodeType是3的节点(3是文本节点),最后取他的nodeValue值。注意这样写时
<p id="p"> <p>这不是我想要的<hr /></p>这才是我想要的 </p>
childNodes会取到空的文本节点,要过滤。还有innerText存在兼容性问题。
现在只能想到这种方法。
先用document.getElementById('p').childNodes
获取到所有子元素,再遍历nodeType是3的节点(3是文本节点),最后取他的nodeValue值。
注意这样写时
childNodes会取到空的文本节点,要过滤。
还有innerText存在兼容性问题。
现在只能想到这种方法。