textContent、innerText、innerHTML的区别和差异

textContent、innerText、innerHTML的区别和差异
1 、textContent属性可以获取指定节点的文本及其后代节点中文本内容,也包括<script>和<style>元素中的内容;

innerText也是获取指定节点的文本及其后代节点中文本内容,但不能获取<script>和<style>元素中的内容。

innerHTML是获取HTML文本结构内容。

2、textContent会获取display:none的节点的文本;而innerText好像会感知到节点是否呈现一样,不作返回。

也就是说,textContent能够获取元素的所有子节点上的文本,不管这个节点是否呈现;而innerText只返回呈现到页面上的文本。

3、要注意设置文本时被替换的可不只是文本了;这时textContent 、innerText属性相当于innerHTML属性,会把指定节点下的所有子节点也一并替换掉。

4、由于 innerText 受 CSS 样式的影响,它会触发重排(reflow),但 textContent 不会。

posted @ 2021-12-21 11:28  7c89  阅读(2744)  评论(0编辑  收藏  举报