innerText与textContent的异同

Posted wangwg1994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了innerText与textContent的异同相关的知识,希望对你有一定的参考价值。

转载自BetaRabbit的博文

今天在使用innerText时遇到一个兼容性问题,FireFox不支持innerText方法,查了下MDN,发现FireFox下有个类似的方法,叫textContent,它和IE的innerText类似, 都是用来获取(设置)元素中text的方法。

语法

  • 设置

      element.textContent = “text”;

  • 获取

      var text = element.textContent;

     Note: textContent和innerText类似,也会同时获取子元素的text content,比如

     <div>this is <span>a</span> text!</div>
   // div.textContent == "this is a text!"

与innerText的区别

  • textContent会获取所有元素的content,包括`<script>`和`<style>`元素
  • innerText不会获取hidden元素的content,而textContent会
  • innerText会触发reflow,而textContent不会
  • innerText返回值会被格式化,而textContent不会

主流浏览器支持情况

    • IE 9+
  • Chrome 1+
  • FireFox(Gecko)

以上是关于innerText与textContent的异同的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 学习-33.HTML DOM 获取和修改文本节点( textContent,innerText 和 innerHTML)

markdown innerHTML,innerText,textContent

innerText Textcontent浏览器兼容代码

innerHTML与innerText的异同

为啥 textContent 不会触发重排

JavaScript DOM操作案例封装innerText跟textContent函数(浏览器兼容)