다음과 같은 URL이 있습니다.
www.example.com/task1/1.3.html#a_1
a_1
jQuery를 사용하여 앵커 값을 가져 와서 변수로 저장할 수 있습니까?
답변
다음 .indexOf()
과 .substring()
같이 and 를 사용할 수 있습니다 .
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 인 경우 URL window.location.hash
을 가져 와서 #
원하는 경우 바꿀 수 있습니다.
답변
들어 현재 창 , 당신은이를 사용할 수 있습니다 :
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');
답변
사용하다
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]