0

我有这个链接:

<a href="http://iml.com/wmaster.ashx?WID=124904080515&amp;cbname=liveealve&amp;LinkID=701&amp;queryid=138&amp;from=freevideo6&amp;promocode=BETLNK&amp;FRefID=-1&amp;FRefP=none&amp;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代码不起作用..我试图将它移动到准备好文档..但它也不起作用..

4

1 回答 1

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');

尝试将它们全部更改为双引号,并"从 & 号 in 之后删除额外的内容"&"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因此每次迭代都会产生相同的结果。

(当然可能还有其他问题,因为您引用了几个未显示的变量。)

于 2012-05-20T12:17:30.763 回答