對於一個img元素,我們想獲取它的src屬性時可以有兩種方式:
1、xxx.getAttribute("src")
2、直接通過xxx.src獲取屬性值
在src的屬性值為相對路徑時,這兩者的結果在不同瀏覽器會有一些不同哦。
以此為例:
var img=document.getElementById('logo'); alert("src:"+img.src); // iE7-: src:http://localhost/test/images/logo.png // iE8+ Chrome Firefox: src:http://localhost/test/images/logo.png alert("getAttribute:"+img.getAttribute("src")); // iE7-: src:http://localhost/test/images/logo.png // iE8+ Chrome Firefox:getAttribute:images/logo.png
那么如何讓IE低版本的getAttribute("src")方法也返回相對路徑呢,這里就要用到IE特有的getAttribute方法的第二個參數:
img.getAttribute("src",2)
除了img的src屬性外,a標簽的href屬性也存在此問題,同樣設置第二個參數為2即可。
我們看下微軟對第二個參數的解釋:http://technet.microsoft.com/zh-cn/library/aa752280
0:默認值。搜索屬性時大小寫不敏感
1:搜索屬性時大小寫敏感,大小和小寫字母必須完全匹配。
2:返回BSTR形式的屬性值?此標識對事件屬性無效。(不知道第一句的具體意義,但是設置屬性為2可以用來返回原始值)
4:返回完整路徑URL地址。只對URL屬性有效。(參數為4的情況,我還沒有找到使用它的場景。。。)