2016-04-22 30 views
0

文字列内の要素名を置換できません。 replace()が動作していないようです。要素名を文字列に置き換えます。

var a = 1; 

function generateDiv() { 
    a++; 
    var firstDiv = $(".firstDiv").html(); 
    firstDiv.replace("fileName1", "fileName" + a); 
    $('#mainDiv').append(firstDiv); 
} 
+0

のようにそれをしてください...変数を置き換えないのですか? –

+2

'firstDiv = firstDiv.replace(" fileName1 "、" fileName "+ a)' –

+1

HTML文字列を修正するのではなく(コード内で別の名前を繰り返した場合に予期しない変更が発生する可能性がある)要素をclone()し、必要な要素の 'name'プロパティを変更します。 –

答えて

1

あなたはreplace()は、新しい文字列を返し、それが変数を更新しません、変数の値を更新する必要があります。

var a = 1; 
 

 
function generateDiv() { 
 
    a++; 
 
    var firstDiv = $(".firstDiv").html(); 
 
    firstDiv = firstDiv.replace("fileName1", "fileName" + a); // update the variable with returned value 
 
    // or do it in single line 
 
    // var firstDiv = $(".firstDiv").html().replace("fileName1", "fileName" + a); 
 
    $('#mainDiv').append(firstDiv); 
 
}

1

文字列を置き換えリターンを交換し、それはあなたが同様にHTMLを表示することができますので、

firstDiv = firstDiv.replace("fileName1", "fileName" + a); 
関連する問題