【问题标题】:How to get the clicked link's href with jquery?如何使用jquery获取点击链接的href?
【发布时间】:2011-07-27 08:28:35
【问题描述】:

有谁知道如何使用 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 );
    });

【问题讨论】:

    标签: jquery


    【解决方案1】:
    回调函数中的

    this指的是被点击的元素。

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

    【讨论】:

    • 或者可以直接访问它而不是创建一个 jQuery 对象。 var addressValue = this.href;
    • 仅供参考,如果 href 是相对的 href="sibling_file.htm" 然后 $(this).attr("href") 返回 sibling_file.htm 并且 this.href 返回 https://example.com/folder/sibling_file.htm (这是我所期望的并且想要。)
    【解决方案2】:

    您正在寻找$(this).attr("href");

    【讨论】:

      【解决方案3】:
      $(".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);
        });
        

        使用 this 关键字代替 className (testClick)

        【讨论】:

          猜你喜欢
          • 2014-06-25
          • 2020-08-31
          • 2021-06-20
          • 1970-01-01
          • 2013-05-01
          • 2020-07-14
          • 1970-01-01
          • 2012-11-28
          • 1970-01-01
          相关资源
          最近更新 更多