现在的位置: 首页 > 综合 > 正文

a链接触发javascript函数导致innerHTML里的图片无法加载

2013年10月14日 ⁄ 综合 ⁄ 共 535字 ⁄ 字号 评论关闭

偶尔发现,IE6下,用javascript控制的div的innerHTML,如果里面有图片,居然无法显示!

 

难道用脚本来给innerHTML赋值就不行的?

 

其实不是。因为有些地方又可以。

 

google了一下,才知道,原来并不是用脚本给innerHTML赋值的问题,而是因为用了a链接,靠点击这个a链接来触发给innerHTML赋值的脚本,就导致了innerHTML里面包含的图片无法加载!

 

<a href="javascript:;" onclick="LoadIt()
">

打开一个折叠项</a>

<div id="divContent"></div>

……

<script type="text/javascript">

function LoadIt()

{

//加载了之后,图片只有一个大大的叉

document.getElementById("divContent").innerHTML = "<img src='hi.jpg' />";

}

</script>

 

据说这是IE6,IE7的BUG。原因是你点了这个a链接,靠它来激发函数LoadIt(),IE会以为你已经跳走了,就将所有的请求都断掉,于是图片无法加载!或者只出来一小部分!

 

解决办法是,不要用a链接来触发,改用div或者span。

 

抱歉!评论已关闭.