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 不会。