如下
1
2
3
4
5
6
7
8
|
< a href = "/abc/index.html" >home</ a > < 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。
1
2
3
4
5
6
7
8
|
< a href = "/abc/index.html" >home</ a > < 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参数的描述
如果你是用jQuery的话,也可以用jQuery.support.hrefNormalized来判断,如果值为false,说明是在IE6/7下运行。
相关:
http://msdn.microsoft.com/en-us/library/ms536429%28v=VS.85%29.aspx