document.write 和 innerHTML :
document.write 重绘 整个页面,innerHTML 重绘页面的一部分。
为什么 js中 不推荐使用 innerHTML?
因为 innerHTML 每次修改内容 都会刷新,慢。( 不明白 这个“慢”是指要刷新,所以 更新数据慢吗?)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<span id="nishichu"><p>你是猪啊</p></span>
<span id="nicaishizhu"><p>你才是猪<p></span>
<script type="text/javascript">
document.getElementById('nishichu').innerHTML='你他妈说谁是猪';
document.getElementById('nicaishizhu').innerText='<p>我说你是猪,你就是猪!</p>';
</script>
</body>
</html>
(1)
document.getElementById('nishichu').innerHTML='<p>你他妈说谁是猪</p>';
<span id="nishichu">你是猪啊</span> 变为:
<span id="nishichu"><p>你他妈说谁是猪</p></span>
(2)
这次去掉<p> 标签
变成:<span id="nishichu">你他妈说谁是猪</span>
还是覆盖了
(3)
这次试试 能不能覆盖标签
变成:
<span id="nishichu">你他妈说谁是猪</span>
哇哈哈!好强啊,标签也给覆盖了。
innerText:
document.getElementById('niciahsizhu').innerText='<p>我说你是猪,你就是猪!</p>';
变成:
<p>我说你是猪,你就是猪!</p>
所以说 innerText不能 识别标签,它把 标签当做 文本
但是 它也覆盖<span>标签 里面内容了
试试它能不能 覆盖 标签
不知道 为啥这样:
<span id="nicaishizhu"><p>我说你是猪,你就是猪!</p></span>
其实 它不能覆盖 <p>标签, 这样色的:
<span><p>我说你是猪,你就是猪!</p></span>
总结:
(1)当 两个都用来 插入内容时,并且 插入标签时,innerHTML 插进的是标签,innerText 把标签 当文本;并且,两个都能 覆盖内容,但 innerHTML 能覆盖 被插入内容的标签 里面的标签,innerText 只能覆盖文本,不能覆盖 标签;
两者 插入内容时,= 字符串,就是 dom.innerHTML = 'xxx'; dom.innerText = 'xxx';
(2)当用 dom.innerHTML 获取内容时,可以 获取到 标签;
dom.innerText 只能获取到 文本;
醉了,网上 一个好点儿的解释 都找不到。垃圾 baidu!