如何使用Jquery更改链接的href属性[重复]
Posted
技术标签:
【中文标题】如何使用Jquery更改链接的href属性[重复]【英文标题】:How to change href attribute of a link using Jquery [duplicate] 【发布时间】: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>
【问题讨论】:
***.com/questions/179713/… 【参考方案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')
会按预期工作。
【讨论】:
以上是关于如何使用Jquery更改链接的href属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章