Как получить href нажатой ссылки с помощью jquery?


кто-нибудь знает, как я могу получить href нажатой ссылки с помощью jquery? У меня есть ссылка следующим образом:

    <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 из ссылки, на которую я нажал. Но почему-то это всегда возвращает мне href 1-й ссылки (ID=1), хотя я нажал на Test2 или Test3. Кто-нибудь знает, что здесь происходит? и как я могу решить эту проблему?

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

4 ответа:

этой в вашей функции обратного вызова относится к нажатого элемента.

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

вы ищете $(this).attr("href");

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

при использовании $(".className") вы получаете набор всех элементов, которые имеют этот класс. Затем при вызове attr он просто возвращает значение первого элемента в коллекции.

предположим, что у нас есть три якорных тега, например,

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