一个同事发现的Bug,描述如下:
<html>
<body>
<a href="http://www.cssplay.org.cn/">foo@bar</a>
<script type="text/javascript">
var a = document.getElementsByTagName('a')[0];
a.setAttribute('href','mailto:cssplay.org.cn@gmail.com');
</script>
</body>
</html>
实例运行代码框如下:
提示:您可以先修改部分代码再运行
运行结果是a标签被重写为 <a href="mailto:cssplay.org.cn@gmail.com>mailto:cssplay.org.cn@gmail.com</a>
通过dom方法设置a标签的href属性时,如果a的innerHTML是一个email地址,而新的href值是一个合法的url(比如ftp://www.cssplay.org.cn/或者telnet://www.cssplay.org.cn/)时,a的innerHTML会被自动设为这个href的新值。
也许是某个IE的开发人员为了实现写<a href="mailto:cssplay.org.cn@gmail.com>cssplay.org.cn@gmail.com</a>这种链接方便一点,写出这么个bug来...但总的来说这个Bug过分了一点。
没有google到描述这个bug的文章,记录在此,目前也没有发现解决的办法。

