textContent 和 innerText

相同点
  • Gets or sets the text content of a node and its descendents. ---- MDN
    Node.textContent两者都是返回一个节点还有它的后代元素的文本内容
  • Setting this property on a node removes all of its children and replaces them with a single text node with the given value. ---- MDN
    Node.textContent 可以通过这个API(innerText & textContent)来增删查改一个元素的文本。

    注意:Node.textContent = ""或者Node.innerText = ""会直接把Node的子节点元素直接删掉,而不只是那些文本

两者不同点
  • document.textContent是为null,但是document.innerText是undefined
  • 获取的文本内容不一样,我们来看个例子
    <div id="player">
    			<div>
    				nash,
    				kobe
    			</div>
    			<div style="display: none">
    				and monkindey
    			</div>
        </div>

    textContent: 不会去掉空格和隐藏的文本,所以它这样子显示的:

    innerText:

  • 浏览器兼容不一样,innerText不是web标准,但是在ie被广泛使用,所以它在ie浏览器的兼容性较好,但是由于有性能的劣势,所以现在已经被textContent替代了,而一些javascript库还用这个API,主要原因就是其IE兼容性好,但是firefox已经不支持该API。那textContent的兼容性呢?
    主要是ie的兼容性较差,其他浏览器都广泛支持。
  • As innerText is aware of CSS styling, it will trigger a reflow,
    whereas textContent will not ---MDN
    它会导致页面重绘,这个肯定会导致页面的性能较差,页面重绘都是很浪费浏览器体力的一个动作,尽量要减少这样子的事件出现。
参看文献:
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值