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

それらをすべて二重引用符に変更してみて、次のよう"にアンパサンドの後から余分なものを削除してください。"&"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 に答える