JavaScript中的Href属性仅显示哈希值

时间:2013-09-21 16:43:09

标签: javascript jquery html

当我打印出HTML a标签的对象时:我看到了

href: "http://www.example.com/page.html#abc.1.2"
hash: "#abc.1.2"

当我这样做时

$(document.body).on('click',"a",function(event){ 
    console.log( $(this).attr("href") );
});

我只得到"#abc.1.2",这是哈希的值,而不是整个网址。为什么会这样,我怎样才能得到整个网址?

3 个答案:

答案 0 :(得分:4)

因为您获得了属性的值,而不是属性。

使用.prop代替.attr

答案 1 :(得分:2)

不确定您在做什么,但这会返回HREF以及主机名和协议

<a href="#abc.1.2">Link</a>

$(document).on('click',"a",function(event){ 
    console.log( this.href );
    return false;
});

答案 2 :(得分:0)

您不需要使用jQuery包装this来返回公共属性。请改用this.href

$(document).on('click',"a",function(e){ 
    e.preventDefault();
    console.log(this.href)
});