IE 下修改a标签的href的值碰到的怪象

今天在IE 下碰到一个奇怪的问题,就是当我修改a的标签内容有@字符,在修改该标签的href属性的时候,a标签的内容变成了该标签的

href 的值。

代码如下

<!DOCTYPE HTML>
<html>
<body>
<a id="fruits">fruites</a>
</body>
<script>
   document.getElementById('fruits').innerHTML = "Test Event / D @ N{}t ?u~cha$e"; 
   document.getElementById('fruits').href = 'http://www.qq.com';
</script>
</html>

这个时候就会出现这个诡异的问题,在火狐和谷歌浏览器都不回,ie都会有这个问题。

 

我想改变下修改的赋值顺序就应该不会出现该问题了,实践证明也是正确的,代码如下。

<!DOCTYPE HTML>
<html>
<body>
<div id="fruits">fruites</div>
</body>
<script>
   document.getElementById('fruits').href = 'http://www.qq.com';
   document.getElementById('fruits').innerHTML = "Test Event / D @ N{}t ?u~cha$e";
</script>
</html>

 

我猜想应该是IE内核的问题吧。

 

试图找原因,百度

发现

http://www.planabc.net/2008/11/06/ie-href-bug/

文章。但是好像没怎么明白。

 

发现了

if(/*@cc_on!@*/0) {
var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;

    /*@cc_on alert("显示浏览器版本号:"+@_jscript_version) @*/

    alert(@_jscript_version)

    alert("浏览器版本为"+sSuffix)
     
   }

/*@cc_on!@*/false 是可以判断是否是IE从来没用过。

转载于:https://www.cnblogs.com/phpzxh/archive/2012/06/26/2563368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值