使用jquery从URL中获取哈希值

时间:2012-02-11 20:34:29

标签: javascript jquery hash

如果我使用以下网址重新确认网址:

var id = 150
window.location.hash = "id="+id;

如何使用jQuery获取id的值?

2 个答案:

答案 0 :(得分:2)

不需要jQuery ..

var id = /^#?id=(.+)/.exec(location.hash);
id = id ? id[1] : '';
// OR
var id = location.hash.substr(4);  // (when hash can only be #id=..)
                                   // This also selects 123 in #no=123 (!)  

答案 1 :(得分:1)

+1 Rob W回答不使用jQuery。但是有两件事,我想指出。

1。)执行正则表达式,加上使用第三个运算符也是“overload”。 ;-)
2。)你应该考虑一些浏览器返回哈希符号,而有些则没有!

为避免截断实际值部分,我会说使用replace()代替substr()更安全:

var id = location.hash.replace('id=', '').replace('#', '');

<强>更新
我认为split()是一个更好的解决方案:

var id = location.hash.split('id=')[1];

只有一个(本机)函数调用,如果请求URL实际包含包含字符串 "id=idString"的哈希,它也“检查”

如果是,则var id的值为"idString"。如果,则var id的值为undefined