javascript动态创建的锚点在IE8-下无效

  使用javascript动态创建的锚点(anchor),在IE8-下无法跳转都动态创建的锚点部分。

 

  测试代码,通过创建a元素,设置a元素的name后添加到dom中,IE8需要添加xhtml申明才有效果(去掉xhtml申明也和IE7一样无效),IE7无效

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<a href="#anchorbyjs">跳到javascript动态创建的锚点</a>
<div style="height:1000px">内容</div>
<div id="dvAnchor">锚点内容</div>
<script>
    var a = document.createElement('a');
    a.name = 'anchorbyjs';
    a.innnerHTML = '&nbsp;';
    document.getElementById('dvAnchor').appendChild(a);
</script>

  解决办法:设置容器的innerHTML创建,IE8不添加xhtml申明也行

<a href="#anchorbyjs">跳到javascript动态创建的锚点</a>
<div style="height:1000px">内容</div>
<div id="dvAnchor">锚点内容</div>
<script>
    document.getElementById('dvAnchor').innerHTML = '<a name="anchorbyjs">锚点内容</a>';
</script>

 

加支付宝好友偷能量挖...


原创文章,转载请注明出处:javascript动态创建的锚点在IE8-下无效

评论(0)Web开发网
阅读(165)喜欢(0)JavaScript/Ajax开发技巧