1

私はinnerHTMLのjQueryで置き換えるために次のスクリプトを動作させています。

HTMLコード

<input type="submit" name="replace" id="replace" value="Replace" />

<div class="my_div">Default1 content1</div>
<div class="my_div">Default2 content2</div>

javaスクリプト

$('#replace').click(function() {
   $('.my_div').html(function( idx, oldHtml){
      return oldHtml.replace(/Default1|content1|Default2|content2/gi, 'symbol1');
   });
});

しかし、複数の一意の置換のためにスクリプトを変更することはできませんでした。例置き換えたい

Default1からsymbol1

Default2からsymbol2

content1からsymbol3

content2からsymbol4

以下は機能しません

$('#replace').click(function() {
   $('.my_div').html(function( idx, oldHtml){
      return oldHtml.replace(/Default1/gi, 'symbol1');
      return oldHtml.replace(/Default2/gi, 'symbol2');
      return oldHtml.replace(/content1/gi, 'symbol3');
      return oldHtml.replace(/content2/gi, 'symbol4');
   });
});

また、500行を超える置換行であるid属性に基づく初期のスクリプトがありました。この新しいjQueryクラス属性に同様の構造を含めることは可能ですか?

var str=document.getElementById("my_id").innerHTML;
var n=str.replace("Default1","symbol1");
var n=str.replace("Default2","symbol2");
document.getElementById("my_id").innerHTML=n;
}

どうもありがとう、皆さんは私を大いに助けてくれました。:)

4

1 に答える 1

1

質問1 :

交換

return oldHtml.replace(/Default1/gi, 'symbol1');
return oldHtml.replace(/Default2/gi, 'symbol2');
return oldHtml.replace(/content1/gi, 'symbol3');
return oldHtml.replace(/content2/gi, 'symbol4');

return oldHtml.replace(/Default1/gi, 'symbol1')
    .replace(/Default2/gi, 'symbol2')
    .replace(/content1/gi, 'symbol3')
    .replace(/content2/gi, 'symbol4');

質問2 :

交換

var str=document.getElementById("my_id").innerHTML;
var n=str.replace("Default1","symbol1");
var n=str.replace("Default2","symbol2");
document.getElementById("my_id").innerHTML=n;

var $div = $('#my_id');
$div.html(
    $div.html().replace("Default1","symbol1")
    .replace("Default2","symbol2")
);

(jQueryを使用する場合、それらのgetElementByIdは必要ありません)

于 2012-10-28T09:59:56.220 に答える