JQueryでの複数回の文字列置換の方法を教えて下さい。


index.htmlに
<input type="button" id="replace" value="置換!">
<p id="foo">デフォルト</p>

と書かれていて、#replaceボタンをクリックする度に、p#fooにあるデフォルトという文字列が"一番"→"二番"→"三番"と変わるようにしたいのですが、うまくいきません。

実際に書いてダメだったのは下記のようなものです。
"デフォルト"が"一番"に変わるまではいいのですが、"一番"が"二番"に変わってくれません。コンソールではreplace_foo[count]の値が"二番"、"三番"になるのは確認しましたが・・・

<script type="text/javascript">
  var count = -1;
  var replace_foo = ["一番", "二番", "三番"];
  $(function() {
    $("#replace").click(function() {
      count += 1;
      $('p#foo').replaceWith(replace_foo[count]);
    });
  });
</script>

宜しくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/10/12 11:37:32
  • 終了:2012/10/12 12:05:40

ベストアンサー

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922012/10/12 11:56:32

replace_foo[count]は普通の文字列なので、replaceWithメソッドではなくtextとかattrが適していると思います。

http://jsfiddle.net/cherenkov/B448d/

<button id="replace">btn</button>
<p id="foo">0</p>
<script type="text/javascript">
  var count = -1;
  var replace_foo = ["一番", "二番", "三番"];
  $(function() {
    $("#replace").click(function() {
      count += 1;
      $('p#foo').text(replace_foo[count]);
    });
  });
</script>
id:fenrifja

Cherenkovさん

回答ありがとうございます。
「置換」のやり方がわからない・・・と思考停止しており、頭が回っていませんでした。

大変助かりました。ありがとうございました。

2012/10/12 12:10:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません