我有一个像这样的网址:
www.example.com/task1/1.3.html#a_1
如何a_1
使用 jQuery获取锚值并将其存储为变量?
我有一个像这样的网址:
www.example.com/task1/1.3.html#a_1
如何a_1
使用 jQuery获取锚值并将其存储为变量?
对于当前窗口,您可以使用:
var hash = window.location.hash.substr(1);
要获取主窗口的哈希值,请使用以下命令:
var hash = window.top.location.hash.substr(1);
如果您有一个带有 URL/hash 的字符串,最简单的方法是:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
如果您使用 jQuery,请使用以下命令:
var hash = $(location).attr('hash');
您可以使用.indexOf()
and .substring()
,如下所示:
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(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
检索超出并包括 # 的所有内容
jQuery 风格:
$(location).attr('hash');
您可以使用以下“技巧”来解析任何有效的 URL。它利用了锚元素的特殊 href 相关属性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