jquery로 클릭 한 링크의 href를 얻는 방법은 무엇입니까?


87

누구든지 jquery로 클릭 한 링크의 href를 어떻게 얻을 수 있는지 알고 있습니까? 다음과 같은 링크가 있습니다.

    <a  href="ID=1" class="testClick">Test1.</a>
    <br />
    <a  href="ID=2" class="testClick">Test2.</a>
    <br />
    <a  href="ID=3" class="testClick">Test3.</a>

클릭 한 링크에서 href 값을 얻기 위해 다음과 같은 코드를 작성했습니다. 그러나 어쨌든 이것은 Test2 또는 Test3을 클릭하더라도 항상 첫 번째 링크의 href (ID = 1)를 반환합니다. 여기서 무슨 일이 일어나고 있는지 아는 사람이 있습니까? 이 문제를 어떻게 해결할 수 있습니까?

    $(".testClick").click(function () {
        var value = $(".testClick").attr("href");
        alert(value );
    });

답변:


176

콜백 함수는 클릭 된 요소를 의미합니다.

   $(".addressClick").click(function () {
        var addressValue = $(this).attr("href");
        alert(addressValue );
    });

18
또는 jQuery 객체를 생성하는 대신 직접 액세스 할 수 있습니다. var addressValue = this.href;
Chris

1
참고로, href를 상대하는 경우 href="sibling_file.htm"다음 $ (이) .attr ( "HREF") 반환 sibling_file.htm및 this.href 반환 https://example.com/folder/sibling_file.htm(내가 기대하고 싶어했던 것입니다.)
Redzarf

18

당신은 찾고 있습니다 $(this).attr("href");


10
$(".testClick").click(function () {
         var value = $(this).attr("href");
         alert(value );     
}); 

$ ( ". className")을 사용하면 해당 클래스가있는 모든 요소 집합을 얻게됩니다. 그런 다음 attr을 호출하면 컬렉션의 첫 번째 항목 값만 반환됩니다.


4

다음과 같은 세 개의 앵커 태그가 있다고 가정합니다.

<a  href="ID=1" class="testClick">Test1.</a>
<br />
<a  href="ID=2" class="testClick">Test2.</a>
<br />
<a  href="ID=3" class="testClick">Test3.</a>

이제 스크립트로

$(".testClick").click(function () {
        var anchorValue= $(this).attr("href");
        alert(anchorValue);
});

className (testClick) 대신 키워드를 사용 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.