定义:
Node.textContent
属性表示一个节点及其后代的文本内容。
与 innerText 的区别:
-
textContent
会获取所有元素的内容,包括<script>``<script>
元素用于嵌入或引用可执行脚本。") 和<style>
(HTML的<style>元素包含文档的样式信息或者文档的部分内容。默认情况下,该标签的样式信息通常是CSS的格式。) 元素,然而innerText
不会。 -
innerText
受 CSS 样式的影响,并且不会返回隐藏元素的文本,而textContent会。 - 由于
innerText
受 CSS 样式的影响,它会触发重排(reflow),但textContent
不会。 -
与 textContent 不同的是
, 在 Internet Explorer (对于小于等于 IE11 的版本) 中对 innerText 进行修改, 不仅会移除当前元素的子节点,而且还会永久性地破坏所有后代文本节点(所以不可能再次将节点再次插入到任何其他元素或同一元素中)。
与 innerHTML 的区别:
innerHTML
返回 HTML 文本。通常,为了在元素中检索或写入文本,人们使用innerHTML
。但是,textContent
通常具有更好的性能,因为文本不会被解析为HTML。此外,使用textContent
可以防止 XSS 攻击。