textContent和innerText的区别

textContent和innerText的区别


通过冰山工作室音频学习的记录 :

起因 : 火狐浏览器把innerText换成了textContent , 但 其他浏览器上面,也是可以使用textContent的 .

平常我们使用的时候 , 一般都是先判断浏览器是否支持textContent ,那textContentinnerText有什么区别呢 ?

二者区别:

  • textContent 返回的包括script和style标签的内容 , innerText则是不包含的.
  • (最重要的区别) innerText返回的值,依赖于页面的显示. textContent依赖于代码的内容
  • 在使用innerText设置值的时候 , 会触发"回流"操作 ,但是在textContent里面 , 设置值不一定会触发""回流’'操作
    • 回流是啥 ? 当我们重新设置了innerText 后 , DOM树会从当前节点回溯到根结点 , 然后从根结点再运行一次(这里又渲染了一遍页面) ,影响整个页面 !
    • 重绘是啥 ? 对一个DOM节点往子节点进行排列 . 重绘只是影响页面的一部分 . 回流会引起重绘 , 但重绘不一定引起回流.
    • textContent对页面的影响小一些,所以先判断的textContent.
  • innerText的返回值会被格式化 ,但是textContent的返回值不会被格式化.
  • innerText会把页面里的空标签当作换行处理, ( 一个空标签是一行 , 连续的多个空标签也是一行) ,但是textContent就返回一行文本(有子标签才会返回多行文本) .
  • 获取文本内容的时候 ,我们还可以直接找到文本节点,再使用nodeValue,但这个方式不能获得DOM内容. 这样获得的东西跟textContent 获得的相似.

自闭和元素的处理


有一些标签不是成对出现的 , 也叫无内容元素 ,比如

不建议对这些标签使用innerText,textContent啥的 ,影响很不好.

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值