2010-09-20 83 views
0

我需要在所有转到某个URL的链接的末尾附加一个关联标识。附加到jQuery的链接

这是我有,但我不能得到它的工作。

(这将是在WordPress)

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery("a[href*=doitbest]").click(function() { 
    this.append("?memberid=5705&associate=true"); 
    }); 
}); 
</script> 

有什么想法?

回答

1

首先,我相信你必须使用$(this)而不是this

您还希望更改链接的URL。这种变化应作出href属性,所以

$('a#my_link').click(function (event) { 
    $(this).attr('href', $(this).attr('href') + '&id=1'); 
}); 
2

假设你的选择(a[href*=doitbest])的作品,你可以尝试:

jQuery(document).ready(function() { 
    jQuery("a[href*=doitbest]").click(function() { 
     href = $(this).attr('href'); 
     del = href.indexOf('?') > -1 ? '&' : '?'; 
     href += del + 'memberid=5705&associate=true'; 
     $(this).attr('href', href); 
    }); 
}); 

这改变了href属性,而不是链接文本。不过,我不完全确定这是你想要的。变量del用于通过&? char附加URL部分。

+0

这没有奏效,但我忘了提及我试图追加的链接来自我在屏幕上显示的RSS提要。这是否有所作为? – 2010-09-20 16:08:11

+0

@Adam Munns可能是 - 如果链接不是连接点击处理程序时的DOM的一部分,则没有'href'被操纵。请发布更多代码或链接到现场演示。此外,尝试在'click'函数内部放置一个简单的'alert()'以查看处理程序是否正确连接。 – jensgram 2010-09-20 19:44:34

+0

如何判断解析的RSS提要是否是DOM的一部分?该警报似乎没有做任何事情。 – 2010-09-21 22:53:19