【问题标题】:How to change href attribute of a link using Jquery [duplicate]如何使用Jquery更改链接的href属性[重复]
【发布时间】:2010-11-22 23:23:51
【问题描述】:

可能重复:
How to change the href for a hyperlink using jQuery

我有这个链接:

<a id="myLink_33" href="javascript:toggleMe(1);">Toggle</a>

如何使用 Javascript/jquery 更改此链接的 href 属性,使链接变为:

<a id="myLink_33" href="javascript:toggleMe(0);">Toggle</a>

【问题讨论】:

标签: javascript jquery


【解决方案1】:
$("#myLink_33").attr("href", "javascript:toggleMe(0);");

【讨论】:

    【解决方案2】:

    这肯定行得通,但是我想提出一个替代方案。

    HTML

    <a class="toggle">Toggle</a>
    

    jQuery/JavaScript

    $(document).ready(function(){
      $('a.toggle').click(function (eventObject){
        var target = $(eventObject.target);
    
        // will add or remove the class automatically
        target.toggleClass('toggle_on');
    
        if(target.hasClass('toggle_on')){
          /* toggle on code here */
          alert('Toggle On');
        }
        else{
          /* toggle off code here */
          alert('Toggle Off');
        }
      });
    });
    

    这使您不必使用 href 属性进行切换,并允许您通过样式和诸如此类的东西来控制事物。虽然我对 jQuery 的体验并不那么广泛,但像这样的东西似乎更传统一些。

    【讨论】:

      【解决方案3】:

      根据我的经验,使用 id 选择器更改属性不会更新实际元素。
      但是,使用类和其他选择器将起作用。所以

      $('#myLink_33').attr('href','http://www.google.com')

      只有在被查询时才会改变href属性的值,但是当链接被实际选中时,它会默认为页面加载时所拥有的href值。

      但是假设锚点有 class="myLink_33",则 attr 发生变化,

      $('.myLink_33').attr('href','http://www.google.com')
      

      会按预期工作。

      【讨论】:

        猜你喜欢
        • 2010-09-15
        • 1970-01-01
        • 2012-12-17
        • 2012-05-17
        • 2018-05-15
        • 2016-03-30
        • 1970-01-01
        • 2014-07-21
        相关资源
        最近更新 更多