我有一个 URL,像这样:
www.example.com/task1/1.3.html#a_1
我该如何使用jQuery获取a_1
锚点的值,并将其存储为变量?
我有一个 URL,像这样:
www.example.com/task1/1.3.html#a_1
我该如何使用jQuery获取a_1
锚点的值,并将其存储为变量?
var hash = window.location.hash.substring(1);
var hash = window.top.location.hash.substring(1);
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
由于JS具有substr/substring函数,它们是不同的,但在这种情况下相同。 - Arthur Kushmanhash = hash && decodeURI(hash)
以获取原始值。 - pholpar你可以使用 .indexOf()
和 .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.top.location.hash
。 - Paolo Stefanurl.split("#").pop()
- 运行慢但更简单。 - Ifch0o1使用
window.location.hash
获取包括#在内的所有内容
location.hash.slice(1)
,如果你不想在最终字符串中包含哈希标签! - Sandy GiffordjQuery 风格:
$(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
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.location.hash.substring(1)
或window.location.hash.split('#').pop();
- Avatar