- ベストアンサー
jqueryでの文字置換について
jqueryを使った文字の置換を行いたいのですがうまくいきません。 どなたかお詳しい方、ご教授いただけますでしょうか。 よろしくお願いします。 ■行いたいこと <div class="bbb"><img src="0123.jpg"></div> をwindow読み込み時に <div class="bbb"><img src="0123s.jpg"></div> と置き換えしたい。 javascriptのソースは以下の通りです。 <script src="jquery-min.js"></script> <script type="text/javascript"> <!-- $(function(){ var aaa = $('.bbb'); aaa.html().replace(/.jpg/ig, "s.jpg"); }); // --> </script>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
これでどうでしょう? $(function(){ $('.bbb > img').each(function(){ var newurl = $(this).attr('src').replace(/\.jpg/ig, 's.jpg'); $(this).attr('src', newurl); }); })
その他の回答 (1)
- heikuu2009
- ベストアンサー率33% (5/15)
質問のコードでは文字列を置き換えているだけです。 ・置き換えた文字列を代入してやる必要があります aaa.html(aaa.html().replace(/.jpg/ig, "s.jpg")); ※正規表現についてですが、、、 文字列.はメタキャラなので今回のような使い方は避けたほうがいいです。 ⇒ /\.jpg/
補足
ご回答いただきありがとうございます。 正規表現のご指摘も参考になりました。 試してみたところ、変換はできたのですが、 以下の状況になってしまいました。 <div class="bbb"><img src="0123.jpg"></div> <div class="bbb"><img src="4567.jpg"></div> とあったとしたら、 <div class="bbb"><img src="0123s.jpg"></div> <div class="bbb"><img src="4567s.jpg"></div> としたいのですが、 <div class="bbb"><img src="0123s.jpg"></div> <div class="bbb"><img src="0123s.jpg"></div> となってしまいます。解消方法はあるでしょうか?
お礼
ありがとうございます! 考えていたことが出来ました。 とても助かりました<(_)>。