我有这个链接:
<a href="http://iml.com/wmaster.ashx?WID=124904080515&cbname=liveealve&LinkID=701&queryid=138&from=freevideo6&promocode=BETLNK&FRefID=-1&FRefP=none&FRefQS=none" rel="nofollow" title="Visit imLive.com" target="_blank" class="sitelink_external imlive">Visit imLive.com</a>
我想使用此代码添加/更改不同的url参数:
$("a.sitelink_external.imlive").each(function(){
$params=getUrlVars(document.URL);
var promocode_addition='';
if('INFO'==$params['ref']){
promocode_addition='LCI';
}
$(this).attr("href", 'http://im.com/wmaster.ashx?WID=124904080515&cbname=limdeaive&LinkID=701&queryid=138&promocode=LCDIMLRV" + i + promocode_addition+"&"FRefID=" + FRefID + "&FRefP=" + FRefP + "&FRefQS=" + FRefQS');
});
问题是jquery代码无法运行..我试图将其移动到文档准备就绪..但它也不起作用..
答案 0 :(得分:4)
向我跳出来的是你在这一行上混合你的双引号和单引号:
$(this).attr("href", 'http://im.com/wmaster.ashx?WID=124904080515&cbname=limdeaive&LinkID=701&queryid=138&promocode=LCDIMLRV" + i + promocode_addition+"&FRefID=" + FRefID + "&FRefP=" + FRefP + "&FRefQS=" + FRefQS');
尝试将它们全部更改为双引号,并在"
中的&符号后删除额外的"&"FRefID="
- 如下所示:
$(this).attr("href", "http://im.com/wmaster.ashx?WID=124904080515&cbname=limdeaive&LinkID=701&queryid=138&promocode=LCDIMLRV" + i + promocode_addition+"&FRefID=" + FRefID + "&FRefP=" + FRefP + "&FRefQS=" + FRefQS);
你拥有它的方式是一个包含看起来像代码的东西的单个字符串。我改变它的方式是将几个字符串和变量连接在一起......(注意与StackOverflow语法高亮的区别。)
还要注意以下代码:
$params=getUrlVars(document.URL);
var promocode_addition='';
if('INFO'==$params['ref']){
promocode_addition='LCI';
}
...可以在 .each()
循环之前移动到,因为它只在document
上运行,因此每次迭代都会产生相同的结果。
(当然,由于您引用了几个未显示的变量,因此可能存在其他问题。)