2012-02-18 26 views
1

このコードは、最初のリンクの文字列の一部のみを置き換えますが、このコードを変更して他のリンクの文字列の一部をクリックして置き換える方法他のリンクは異なるテキストを持っています。例えば、 "ca-test"の場合は、あなたが望む何でもかまいません。jQuery hrefから特定のテキストを置き換える

$("#box1").click(function(){ 
var url = $('.mylink').attr('href') 
url = url.replace('us-test', 'replaced-text') 
$('.mylink').attr('href', url) 
}); 

<a class="mylink" href="http://google.com/en/get.php?chrome=us-test">Test</a> 
<a class="mylink2" href="http://google.com/en/get.php?chrome=ca-test">Test</a> 
<a class="mylink3" href="http://google.com/en/get.php?chrome=tk-test">Test</a> 
+0

あなたのためではない、それ以来、最善の解決策?その情報は、リンクやJSコードのどこかのhtmlの 'data-'属性などのどこかに格納する必要があります。 (クラス名は一意の識別子のように見えるので、 'class'属性ではなく' id'属性を使うべきだと思います) – nnnnnn

+0

あなたはたくさんのリンクを持っているのか、それとも3つしかありません –

+0

"置き換えるテキストをどうやって知っていますか?そして、各リンクのためにそれを置き換えるものはjqueryコードに保存されています "us-test"は "置き換えられたテキスト"に変更されますあなたのコメントの残りの部分について私は何をしているのですか? – donvitto

答えて

1

。それはないどのようにあなたのページの機能は明らか多分それが役に立つどのように置き換えるためにどのようなテキストやリンクごとに置き換えることを知っているん

$("#box1").click(function(){ 
    var rep1=new Array(".mylink",".mylink2",".mylink3"); 
    var rep2=new Array("us-test","ca-test","tk-test"); 
    var rep3=new Array("us-test1new","ca-test1new","tk-test1new"); 
    replace(rep1, rep2, rep3); 
    }); 


    function replace(a, b, c) 

    { 
    for(var i=0; i < a.length; i++) 
    { 
    var url = $(a[i]).attr('href'); 
    url = url.replace(b[i], c[i]); 
    $(a[i]).attr('href', url); 
    } 
    } 
+0

ummm ...うまくいきません。何も変わらない – donvitto

+0

うん、私のループが台無しになった –

+0

これは完璧なおかげでCOLD TOLD ...そして本当にありがとう。 :) – donvitto

関連する問題