IE6/7中getAttribute获取href / src 属性(相对路径)值与其它浏览器不同

如下

<a href="/abc/index.html">home</a>
<img src="http://images.cnblogs.com/img.png">
<script>
	var link = document.getElementsByTagName('a')[0];
	var img =  document.getElementsByTagName('img')[0];
	alert(link.getAttribute('href'));
	alert(img.getAttribute('src'))
</script>

有元素a和img(标准文档模式),设置了相对路径。各浏览器效果如下

IE6/7:返回完整路径

IE8/9/10/Firefox/Safari/Chrome/Opera:返回相对路径

IE6/7中想要与其它浏览器保持一致的话,可以给getAttribute的第二个参数设为2。

<a href="/abc/index.html">home</a>
<img src="http://images.cnblogs.com/img.png">
<script>
	var link = document.getElementsByTagName('a')[0];
	var img =  document.getElementsByTagName('img')[0];
	alert(link.getAttribute('href', 2)); // 注意第二个参数
	alert(img.getAttribute('src', 2)); // // 注意第二个参数
</script>

标准的getAttribute方法是没有定义第二个参数的,神奇的IE啊。以下是MSDN对setAttribute参数的描述

相关:

http://msdn.microsoft.com/en-us/library/ms536429%28v=VS.85%29.aspx

posted on 2011-08-28 07:21  snandy  阅读(5299)  评论(5编辑  收藏  举报