IE中替换a标签href属性的一个bug

群里一兄弟提一问题,@"jquery中attr("href")在IE下转化为了绝对地址 有没有什么参数使其和ff相同啊"

@如果是取href属性,ie下都是绝对地址,以前碰到的,得针对ie做网址处理

 

经过讨论,在csdn一贴子中找到答案;

<html>
<body>
<a id="a_test1" href="http://blog.csdn.net">hello@163.net</a>
<a id="a_test2" href="http://blog.csdn.net">hello#163.net</a>
<input type="button" onclick="button1Click()" value="测试1" />
<input type="button" onclick="button2Click()" value="测试2" />
<script type="text/javascript">
function button1Click() {
    document.getElementById("a_test1").href = "http://blog.csdn.net/zswang";
    alert(document.getElementById("a_test1").innerHTML);
}
function button2Click() {
    document.getElementById("a_test2").href = "http://blog.csdn.net/zswang";
    alert(document.getElementById("a_test2").innerHTML);
}
</script>
</body>
</html>

测试1
输出:http://blog.csdn.net/zswang

测试2
输出:hello#163.net

这是为什么呢?就是文本存在“@”字符导致。firefox中正常。

LC的答案:呵呵 这个是老BUG了 只要在innerHTML前加 ''+转下就可以了.

 附代码:

代码
function button1Click() {    if(/*@cc_on!@*/0)
{   
      document.getElementById("a_test1").href = ' '+ "http://blog.csdn.net/zswang";    
}   
 alert(document.getElementById("a_test1").innerHTML);}

经测试,完全ok解决!

原文地址:https://www.cnblogs.com/NetSos/p/1874882.html