Làm cách nào để lấy href của liên kết đã nhấp bằng jquery?


87

Có ai biết cách tôi có thể lấy href của liên kết được nhấp bằng jquery không? Tôi có liên kết như sau:

    <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>

Tôi đã viết một mã như sau để nhận giá trị href từ liên kết mà tôi đã nhấp vào. Nhưng bằng cách nào đó, điều này luôn trả lại cho tôi href của liên kết đầu tiên (ID = 1) mặc dù tôi đã nhấp vào Test2 hoặc Test3. Có ai biết chuyện gì đang xảy ra ở đây không? và làm thế nào tôi có thể giải quyết vấn đề này?

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

Câu trả lời:


176

điều này trong hàm gọi lại của bạn đề cập đến phần tử được nhấp.

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

18
Hoặc người ta có thể truy cập trực tiếp vào nó thay vì tạo một đối tượng jQuery. var addressValue = this.href;
Chris

1
FYI, nếu href là tương đối href="sibling_file.htm"thì $ (this) .attr ("href") trả về sibling_file.htmvà this.href trả về https://example.com/folder/sibling_file.htm(đó là những gì tôi mong đợi và muốn.)
Redzarf


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

Khi bạn sử dụng $ (". ClassName"), bạn sẽ nhận được tập hợp tất cả các phần tử có lớp đó. Sau đó, khi bạn gọi attr, nó chỉ trả về giá trị của mục đầu tiên trong bộ sưu tập.


4

Giả sử chúng ta có ba thẻ liên kết như,

<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>

bây giờ trong kịch bản

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

sử dụng từ khóa này thay vì className (testClick)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.