プロが教えるわが家の防犯対策術!

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>

A 回答 (2件)

質問のコードでは文字列を置き換えているだけです。



・置き換えた文字列を代入してやる必要があります
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>
となってしまいます。解消方法はあるでしょうか?

補足日時:2009/05/12 23:29
    • good
    • 0

これでどうでしょう?



$(function(){
$('.bbb > img').each(function(){
var newurl = $(this).attr('src').replace(/\.jpg/ig, 's.jpg');
$(this).attr('src', newurl);
});
})
    • good
    • 0
この回答へのお礼

ありがとうございます!
考えていたことが出来ました。
とても助かりました<(_)>。

お礼日時:2009/05/14 23:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!