如何使用Jquery更改链接的href属性

时间:2009-08-26 11:33:29

标签: javascript jquery

  

可能重复:
  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>

3 个答案:

答案 0 :(得分:32)

$("#myLink_33").attr("href", "javascript:toggleMe(0);");

答案 1 :(得分:5)

这肯定会奏效,但我想提出一个替代方案。

<强> 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的经验并不是那么广泛,但是这样看起来有点像传统。

答案 2 :(得分:4)

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

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

仅在查询时更改href属性的值,但是当实际选择了链接时,它将默认为页面加载时拥有的href值。

但是假设锚点有class="myLink_33",那么attr就会改变,

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

会按预期工作。