如何使用JQuery读取href属性

时间:2011-10-20 12:45:13

标签: javascript jquery

我在JQuery中使用$(this).attr('href')来读取href =“”属性中的字符串。 我有这样的链接:

<a href="1"></a>
<a href="2"></a>
<a href="3"></a>

Firefox和Chrome会正确地返回代码。 IE返回给我:http://127.0.0.1/1

我该怎么办?

3 个答案:

答案 0 :(得分:3)

访问本机属性时,无需使用attr函数。您可以直接使用anchor元素的属性来获取路径名(即没有域或查询字符串的HREF)

基本上:this.pathname

浏览器之间存在一些不一致(有些会在pathname中显示前导斜线,而其他则不会)。要解决这个问题,只需摆脱任何潜在的主要冲突:

this.pathname.replace(/^\//,'')

一个工作示例:http://jsfiddle.net/jonathon/3ET6p/

即使您选择其他答案,我建议您在对象上使用原生.href


这是对此的额外说明。我启动了一个IE6的VM,一切都很好:))

答案 1 :(得分:1)

尝试通过DOM元素: $(this)[0].href;$(this)[0].getAttribute("href");

如果结果仍然相同,我建议您使用不以数字开头的内容。

答案 2 :(得分:0)

我建议检查正在使用的浏览器。如果是IE,请检查当前域是否为“127.0.0.1”。如果不是,请按@Saul的建议做。