先看现象:
<html> <body> <a id="a_test1" href="http://blog.csdn.net" mce_href="http://blog.csdn.net">hello@163.net</a> <a id="a_test2" href="http://blog.csdn.net" mce_href="http://blog.csdn.net">hello#163.net</a> <input type="button" οnclick="button1Click()" value="测试1" /> <input type="button" οnclick="button2Click()" value="测试2" /> <mce: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); } // --></mce:script> </body> </html>
测试1
输出:http://blog.csdn.net/zswang
测试2
输出:hello#163.net
这是为什么呢?就是文本存在“@”字符导致。
firefox中正常。
目前想到的方案就是先赋值href再赋值一次innerHTML