1

英語で申し訳ありません =) ページの一部の要素を置き換える必要があります。これが私のコードです:

var text1 = $('body').html().replace(/text1/, 'text11');
var text2 = $('body').html().replace(/text2/, 'text22');
var text3 = $('body').html().replace(/text3/, 'text33');
array = [text1, text2, text3];
      for (var i = 0; i < array.length; i++) {
        $('body').html(array[i])
      };

ただし、1 番目と 3 番目だけを置き換えるには、3 番目の要素配列を削除すると、1 番目と 2 番目が変更されます。やり方を教えてください。ありがとうございました!

4

2 に答える 2

2

これは、変数が評価されたときに元の本文のhtmlが変更されないままであるためです。置換を連鎖させるか、前の変数を別の置換に使用する必要があります。

var text1 = $('body').html().replace(/text1/, 'text11');
var text2 = text1.replace(/text2/, 'text22');
var text3 = text2.replace(/text3/, 'text33');

そして、反復は必要ありません。

$('body').html(text3);
于 2012-10-21T19:20:16.933 に答える
2
var items = [
    { find: /text1/, replace: 'text11' },
    { find: /text2/, replace: 'text22' },
    { find: /text3/, replace: 'text33' }
];
var text = $('body').html();

for (var i = 0; i < items.length; i++)
{
    var item = items[i];
    text = text.replace(item.find, item.replace);
}

$('body').html(text);
于 2012-10-21T19:23:10.707 に答える