使用jquery从URL中的散列中获取值

Get values from hash in URL using jquery

本文关键字:获取 URL 使用 jquery      更新时间:2023-09-26

如果我使用重新编写URL

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

如何使用jQuery获取id的值?

不需要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表示Rob W的答案是不使用jQuery。但有两件事,我想指出。

1.)执行正则表达式,再加上使用三级运算符也是"重载"。;-)
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