有没有办法检测点击链接有哈希?
<a href="www.mysite.com/muaz#hesam">Home</a>
有没有办法检测#hesam
/ existance of hash
然后获取哈希值?我有三种不同类型的网址,其中一些只有#
有些值:#value
而有些网址有普通网址www.coco.com
等我想要检测每个网址然后执行默认任务
if(plain Url){
//do some thing
} else if (have only hash){
// do other things
} else if (have hash with value){
//do others
}
答案 0 :(得分:4)
好吧,我们在location
对象上有一个属性。
console.log(location.hash);
然而,它将与#
一起使用,但您可以将其删除并使用其余部分。
console.log(location.hash.substr(1))
如果你想
,你可以这样做$('a').click(function(e){
e.preventDefault(); // prevent default action
var hash = this.href.split("#")[1] || "no hash";
});
注意:您可以使用String.indexOf
检查网址是否为#
。如果它返回-1
则没有哈希值。否则,它有。