当我打印出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"
,这是哈希的值,而不是整个网址。为什么会这样,我怎样才能得到整个网址?
答案 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)
});