textContent和innerText的区别

本文详细对比了textContent和innerText在浏览器中的使用差异,包括它们在返回内容、格式化处理、页面影响等方面的区别,以及在设置值时触发的回流与重绘机制。深入探讨了这两种属性在实际开发中的应用与考量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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啥的 ,影响很不好.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值