您现在的位置: 365建站网 > 365文章 > IE6/7/8中使用innerHTML清空元素,其子元素也被清空

IE6/7/8中使用innerHTML清空元素,其子元素也被清空

文章来源:365jz.com     点击数:346    更新时间:2011-03-28 22:34   参与评论

如下

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gbk" />
        <title>IE6/7/8中innerHTML "Bug"</title>
    </head>
    <body>
		<div id="d">
			<div id="d2">d2 text</div>
		</div>
		<script>
			var d2 = document.getElementById('d2');
			var d = document.getElementById('d');
			d.innerHTML = '';
			alert(d2.innerHTML);
		</script>
    </body>
</html>

结果:
IE9/Firefox/Safari/Chrome/Opera : 弹出 "d2 text" 文本
IE6/7/8 :弹出""空字符串

IE6/7/8中使用innerHTML清空父元素div[id=d],子元素div[id=d2]的innerHTML也被清了,子元素被清包括两个部分:
1,dom结构中清掉了
2,内存中innerHTML置为空字符串(d2.innerHTML)

而 2 不应该被置为空字符串的,这是"Bug"。这里的"Bug"加引号,因为innerHTML当时并非标准的。

这个问题是 nick 发现的。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (346人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号