我有一个URL,就像:
www.example.com/task1/1.3.html#a_1
如何使用jQuery获取a_1锚值并将其存储为变量?
a_1
5n0oy7gb1#
对于当前窗口,可以使用:
var hash = window.location.hash.substring(1);
要获取主窗口的哈希值,请使用以下命令:
var hash = window.top.location.hash.substring(1);
如果你有一个带有URL/hash的string,最简单的方法是:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097'; var hash = url.split('#').pop();
如果你正在使用jQuery,请使用以下命令:
var hash = $(location).attr('hash');
yacmzcpb2#
您可以使用.indexOf()和.substring(),如下所示:
.indexOf()
.substring()
var url = "www.aaa.com/task1/1.3.html#a_1"; var hash = url.substring(url.indexOf("#")+1);
You can give it a try here,如果其中可能没有#,请执行if(url.indexOf("#") != -1)检查,如下所示:
#
if(url.indexOf("#") != -1)
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#"); var hash = idx != -1 ? url.substring(idx+1) : "";
如果这是 * 当前 * 页面的URL,您可以使用window.location.hash来获取它,如果您愿意,可以替换#。
window.location.hash
0ve6wy6x3#
使用
找回一切,包括#
eivgtgni4#
jQuery style:
$(location).attr('hash');
pb3s4cty5#
您可以使用以下“技巧”来解析 * 任何 * 有效的URL。它利用了anchor element特殊的href相关属性hash。
hash
function getHashFromUrl(url){ return $("<a />").attr("href", url)[0].hash.replace(/^#/, ""); } getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
function getHashFromUrl(url){ var a = document.createElement("a"); a.href = url; return a.hash.replace(/^#/, ""); }; getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
vcudknz36#
如果你只有一个普通的url字符串(因此没有hash属性),你也可以使用正则表达式:
var url = "www.example.com/task1/1.3.html#a_1" var anchor = url.match(/#(.*)/)[1]
6条答案
按热度按时间5n0oy7gb1#
对于当前窗口,可以使用:
要获取主窗口的哈希值,请使用以下命令:
如果你有一个带有URL/hash的string,最简单的方法是:
如果你正在使用jQuery,请使用以下命令:
yacmzcpb2#
您可以使用
.indexOf()
和.substring()
,如下所示:You can give it a try here,如果其中可能没有
#
,请执行if(url.indexOf("#") != -1)
检查,如下所示:如果这是 * 当前 * 页面的URL,您可以使用
window.location.hash
来获取它,如果您愿意,可以替换#
。0ve6wy6x3#
使用
找回一切,包括#
eivgtgni4#
jQuery style:
pb3s4cty5#
您可以使用以下“技巧”来解析 * 任何 * 有效的URL。它利用了anchor element特殊的href相关属性
hash
。使用jQuery
使用纯JS
vcudknz36#
如果你只有一个普通的url字符串(因此没有hash属性),你也可以使用正则表达式: