使用jQuery将_link()目标URL填充为href值

3

如何使用jquery获取链接中href属性的值,以便填充_link()目标url值?

以下是常规代码:

<a href="http://www.mydomain.com/gallery/" onclick="_gaq.push(['_link', 'http://www.mydomain.com/gallery']); return false;">Gallery</a>

有许多链接需要以这种方式更新。

2个回答

4
你可以创建一个类来运行 _gaq.push 并使用 jQuery 的 live() 来绑定点击事件。
给你的链接添加一个名为 gaq 的类:
<a class="gaq" href="http://www.mydomain.com/gallery/">Gallery</a>

使用jQuery的live()方法,使所有带有该类别的链接能够在单击时运行push函数。
$('.gaq').live('click', function() {
    _gaq.push(['_link', $(this).attr("href")]);
    return false;
});

这似乎是一个不错的方法。是否可以像这样从push函数内部访问attr值?onclick="_gaq.push(['_link', $('a').attr('href')]); return false;" - sterling
live 上下文中的 $(this) 选择器是被点击元素的 jQuery 选择器。因此,$(this).attr("href") 将返回用户单击的 href 值。 - Jeff the Bear
我想知道是否有可能避免使用实时代码,而是将所有内容都嵌入到onclick属性中,就像这样:onclick="_gaq.push(['_link', $(this).attr('href')]); return false;" - sterling
我明白你的意思。onclick="_gaq.push(['_link', $(this).attr('href')]); return false;"会按照你想的方式工作。 - Jeff the Bear
使用您的方法而不是内联代码更加简洁,所以我选择这个。谢谢。 - sterling
$(this).attr("href") 是不必要的。 this.href 完全足够并且可能更适用于所有场景。 - Ryan McGeary

2

我认为最简单的方法是为<a>添加一个类,然后通过id访问它。

$('.aClass').attr('href') //gets the value of the href
$('.aClass').attr('href', 'stackoverflow.com') //sets the value of the href

$('.aClass').click(function(){
    _gaq.push(['_link', $(this).attr('href')]); 
    return false;
});

希望这能有所帮助。您可以更改属性的值以访问或编辑其值。


谢谢您的回复,我忘记说明有很多链接,因此更通用的东西可能会更好。 - sterling
太棒了,感谢您所有的见解。这个解决方案有效。 - sterling
onclick="_gaq.push(['_link', $('a').attr('href')]); return false;" 的翻译是: - sterling
@sterling。感谢您的回复。非常感谢。很高兴我能够帮助。 - Timothy Ruhle
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接