获取src和href的一些问题
1. src
//html <script type="text/jvascript" src="ooxx.js"></script> //script var script = document.getElementsByTagName('script')[0]; //标准浏览器返回 http://www.ooxx.com/ooxx.js 即返回绝对路径 //IE67,src的字符串为什么则返回什么,这里是ooxx.js alert(script.src); //无兼容问题,均返回src所填字符串,这里为ooxx.js alert(script.getAttribute('src'));
2. href
//html <a href="ooxx.html">ooxx</a> //script var a = document.getElementsByTagName('a')[0]; //无兼容问题,均返回href的绝对路径,形如http://www.ooxx.com/ooxx.html alert(a.href); //标准浏览器返回相对路径,即ooxx.html //IE67返回绝对路径,形如http://www.ooxx.com/ooxx.html alert(a.getAttribute('href');
3. 总结
1. 想获取script中src的相对路径,用 script.getAttribute('src')
2. 想获取script中src的绝对路径,如下代码
var src = script.hasAttribute ? script.src : script.getAttribute('src',4);
因为 IE67 不支持hasAttribute方法,故可用其判断区分;再加上IE对getAttribute支持第2个参数,参数为4时,返回绝对路径,详细参数查看http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx
3. 想获取a中href的相对路径,用 a.getAttribute('href',2) ,依然是利用IE的专属参数另其字符串方式返回所要的相对路径。
4. 想获取a中href的绝对路径,用a.href即可。
OVER!