检测点击的网址中是否有任何哈希值

时间:2015-06-02 14:38:35

标签: javascript jquery css fragment-identifier

有没有办法检测点击链接有哈希?

,例如

<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
}

1 个答案:

答案 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则没有哈希值。否则,它有。