javascript - 更改链接不适用于 jquery

标签 javascript jquery

我有这个链接:

<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>

我想使用此代码添加/更改不同的网址参数:

 $("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 代码不起作用..我尝试将其移至文档就绪状态..但它在那里也不起作用..

最佳答案

令我惊讶的是,您在这一行中混合了双引号和单引号:

$(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 上运行,因此会产生每次迭代都会得到相同的结果。

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

关于javascript - 更改链接不适用于 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673286/

相关文章:

jquery - 显示/隐藏所有评论,但每个部分有 3 个最新评论

javascript - ionic 2 : How to set up css in single page

javascript - API删除不更新数据库

javascript - 简单 `replace()` 的第二个参数的问题

javascript - Angular-modal-service 不显示模态

javascript - Laravel - 来自复选框的 AJAX POST 选择数组

javascript - 将列表分成div以一次只显示一个

javascript - 为什么我无法从给定字符串创建新的 Date() ?

javascript - JQuery 删除 div 在 Internet Explorer 中不起作用

asp.net - 将 jquery 注入(inject)每个 ASP.Net 页面