programing

jQuery를 사용하여 URL에서 앵커를 가져오려면 어떻게 해야 합니까?

newsource 2022. 10. 27. 21:50

jQuery를 사용하여 URL에서 앵커를 가져오려면 어떻게 해야 합니까?

다음과 같은 URL이 있습니다.

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

어떻게 하면a_1jQuery를 사용하여 값을 고정하고 변수로 저장하시겠습니까?

현재 창의 경우 다음을 사용할 수 있습니다.

var hash = window.location.hash.substr(1);

메인 창의 해시 값을 가져오려면 다음을 사용합니다.

var hash = window.top.location.hash.substr(1);

URL/해시를 가진 문자열이 있는 경우 가장 쉬운 방법은 다음과 같습니다.

var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();

jQuery를 사용하는 경우 다음을 사용합니다.

var hash = $(location).attr('hash');

및 를 다음과 같이 사용할 수 있습니다.

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.

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 문자열만 있으면(따라서 해시 속성이 없는 경우) 정규 표현도 사용할 수 있습니다.

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

언급URL : https://stackoverflow.com/questions/3552944/how-to-get-the-anchor-from-the-url-using-jquery