DOM-24 【innerHTML】

一、innerHTML

(1)注意事项

在这里插入图片描述

(2)实体字符转换

在这里插入图片描述
pre标签可以把实体字符转换成标签

(3)执行过程

在这里插入图片描述

(4)安全问题

HTML5和现代的新的浏览器都会阻止这种通过innerHTML嵌入script脚本的程序执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在dom节点的基础上去追加html字符串,会破坏原来的dom节点的引用,但是追加了以后再重新获取节点就不会被破坏

插入纯文本的时候,就不要使用innerHTML

(5)优化方案

在这里插入图片描述
这样就只是把一个字符串放进了一个dom节点里,这个节点是在内存里面的,并没有在document文档

二、textContent

它只会将文本插入到元素内部去,性能比innerHTML要好
在这里插入图片描述
它不会被解析为dom节点,只解析为文本节点

三、innerText

给元素渲染文本节点
在这里插入图片描述
innerText:会忽略标签、style样式属性,显示文本

textContent:会忽略标签,保留style属性,显示所有非标签

innerText与textContent的区别:

textContent:

  1. textContent获取所有元素的内容(包括script、style)

innerText:

  1. 只会获取给人看的内容
  2. 会受到CSS的影响,会导致reflow

四、总结

innerHTML:性能不好,可以提取文本及html标签
innerText:性能好,只能提取文本,会剔除html标签及script、style内容,受css影响
textContent:性能好,可以提取文本及script、style内容,会剔除html标签,不受css影响

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值