获得原始href属性的方法
JavaScript里得到某个链接的href属性时,有三种方式,总结一下:
1. 直接获得href属性,也就是
var url = el.href; // el是一个a元素
2. 使用getAttribute方法,像这样:
var url = el.getAttribute(“href”);
3. IE下的getAttribute方法有第二个参数,参见msdn的这篇。第二个参数如果是2,意思是以字符串形式返回。
var url = el.getAttribute(“href”, 2);
获得href属性的这三种方法,同样的,有三点,让人很费解,而且浏览器实现各不相同。
如果href写的是相对地址,得到属性时,浏览器可能会自动转为绝对地址。(很多情况下我们是不希望这样的)
如果href里有汉字,浏览器会自动编码吗?
如果href里有特殊字符,浏览器会自动编码吗?例如大括号{}。
为此我做了一个小测试页面(点这里可测试),得到了如下的结果:
Read the rest of this entry »