programing

앵커(a) 태그에서 로컬 href 값 가져오기

abcjava 2023. 9. 3. 12:05
반응형

앵커(a) 태그에서 로컬 href 값 가져오기

저는 로컬 href 값을 가진 앵커 태그와 href 값을 사용하지만 일반적으로 사용하는 것과는 약간 다른 위치로 안내하는 자바스크립트 함수를 가지고 있습니다.태그는 다음과 같습니다.

<a onclick="return follow(this);" href="sec/IF00.html"></a>

그리고 다음과 같은 자바스크립트 함수.

baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
    location.href = baseURL + item.href;
}

라고 생각합니다.item.href는 "sec/IF00.html"의 짧은 문자열만 반환하지만 대신 전체 href인 "http://www.thecurrentdomain.com/sec/IF00.html "을 반환합니다.앵커에 넣은 짧은 href만 빼낼 수 있는 방법이 있나요?<a>태그? 아니면 자연스러운 HTML 행동에 의해 그것을 잃는 것입니까?

저는 이것을 하기 위해 문자열 조작을 사용할 수 있다고 생각하지만, 그것은 제 로컬 페이지가 실제로 "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html "일 수 있고, 제 href 필드에 하위 디렉터리가 있을 수도 있고 없을 수도 있기 때문에 까다로워집니다(예:href="page.html"대.href="sub/page.html"), 따라서 마지막 슬래시 이전의 모든 항목을 항상 제거할 수는 없습니다.

당신은 제가 왜 이것을 요청하는지 궁금할 수도 있고, 그것은 단지 페이지를 훨씬 더 깨끗하게 만들 것이기 때문입니다.짧은 href만 얻을 수 없는 경우 (앵커에 넣은 대로)<a>태그), 그러면 태그에 추가 필드를 삽입할 수 있습니다.link="sec/IF00.html"하지만 다시 말하지만, 그것은 조금 더 혼란스러울 것입니다.

아래 코드는 앵커가 가리키는 전체 경로를 가져옵니다.

document.getElementById("aaa").href; // http://example.com/sec/IF00.html

아래의 것이 가치를 얻는 동안.href속성:

document.getElementById("aaa").getAttribute("href"); // sec/IF00.html

document.getElementById("link").getAttribute("href");둘 이상인 경우<a>태그, 예:

<ul>
  <li>
    <a href="1"></a>
  </li>
  <li>
    <a href="2"></a>
  </li>
  <li>
    <a href="3"></a>
  </li>
</ul>

다음과 같이 할 수 있습니다.document.getElementById("link")[0].getAttribute("href");의 첫 번째 배열에 액세스합니다.<a>태그 또는 조건에 따라 달라집니다.

이 코드는 문서의 모든 링크를 가져오는 데 사용됩니다.

var links=document.getElementsByTagName('a'), hrefs = [];
for (var i = 0; i<links.length; i++)
{   
    hrefs.push(links[i].href);
}

저의 경우 #과 target을 가진 href가 있었습니다.href는 나에게 완전한 url을 돌려주고 있었습니다.타겟.해시가 저를 위해 그 일을 해주었습니다.

$(".test a").on('click', function(e) {
    console.log(e.target.href); // logs https://www.test.com/#test
    console.log(e.target.hash); // logs #test
  });

href 속성은 링크의 href 속성 값을 설정하거나 반환합니다.

  var hello = domains[i].getElementsByTagName('a')[0].getAttribute('href');
    var url="https://www.google.com/";
    console.log( url+hello);

이것은 나에게 효과가 있었습니다.

document.getElementsByTagName('a')[0].getAttribute('href');
document.getElementById("aaa").href; //for example: http://example.com/sec/IF00.html

언급URL : https://stackoverflow.com/questions/15439853/get-local-href-value-from-anchor-a-tag

반응형