1

文字列があり、一部のテキスト (name attr) を動的テキストに置き換える必要があります。たとえば、 options[team_member][0][name]に置き換えられoptions[team_member][1][name]ます。

私がどこまでやったか:

    var current = 1;

    var block = jQuery('#contents').html();
    var replace_str = 'options[team_member]['+(current-1)+']';
    var replace_with = 'options[team_member]['+(current)+']';

    /* replace only first match */
    var rep_block = block.replace(replace_str,replace_with);

    /* replace nothing */
    // var rep_block = block.replace(/replace_str/g,replace_with);

    /* replace nothing */
    // var rep_block = block.replace(/(replace_str)/g,replace_with);

    alert(rep_block);

jsFiddleで完全なコードを確認してください

どうすればこれを解決できるかわかりません。私を助けてください。前もって感謝します。

4

2 に答える 2

9

交換してください

var rep_block = block.replace(replace_str,replace_with);

var rep_block = block.split(replace_str).join(replace_with);
于 2013-07-06T11:13:53.777 に答える
-1

「g」フラグでグローバル置換を使用: /reg_ex_here/g または new RegExp(exp, 'g')

var string = 'bla bla bla';
string.replace(/bla/g, 'ok'); // -> ok ok ok
string.replace(new RegExp('bla', 'g'), 'ok'); // -> ok ok ok

あなたのコードで:

var replace_str = 'options\\[team_member\\]\\['+(current-1)+'\\]';
rep_block = block.replace(new RegExp(replace_str, 'g'), replace_with);
于 2013-07-06T11:06:19.287 に答える