簡體   English   中英

如何使用jQuery從URL獲取錨點?

[英]How to get the anchor from the URL using jQuery?

我有一個URL,如:

www.example.com/task1/1.3.html#a_1

如何使用jQuery獲取a_1錨值並將其存儲為變量?

對於當前窗口 ,您可以使用:

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().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。 它利用了anchor元素的特殊href相關屬性hash

用jQuery

function getHashFromUrl(url){
    return $("<a />").attr("href", url)[0].hash.replace(/^#/, "");
}
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1

用簡單的JS

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

如果你只有一個普通的url字符串(因此沒有hash屬性),你也可以使用正則表達式:

var url = "www.example.com/task1/1.3.html#a_1"  
var anchor = url.match(/#(.*)/)[1] 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM