-
textContent 属性返回元素的所有文本内容,包括元素内部的所有文本和注释节点。而innerText 属性仅返回元素内部可见的文本内容,忽略任何被 CSS 隐藏的文本和注释节点。 -
textContent 属性会返回所有文本内容,包括文本节点和子元素的文本内容。而innerText 属性将会尝试返回渲染为可见文本的内容,它会自动处理样式和布局,以确保只返回用户可看到的内容。 -
textContent 属性对性能要求相对较低,因为它只是简单地返回元素的文本内容,不需要进行任何样式和布局的计算。而innerText 属性会涉及到样式和布局的计算,因此在某些情况下可能会对性能有一些影响。
下面是一个简单的示例,帮助理解它们之间的区别:
<div id="myDiv"> <span style="display: none;">隐藏的文本</span> 可见文本 </div> <script> const myDiv = document.getElementById('myDiv'); console.log(myDiv.textContent); // 输出:" 隐藏的文本 可见文本 " console.log(myDiv.innerText); // 输出:"可见文本" </script>
在上面的例子中,
需要注意的是,