電子書籍の厳選無料作品が豊富!

jquery1.2.26を使ってます。

イメージタグ出力場所
<div id="img1"></div>

Javascript置換
$("#img1").replaceWith("[src='images/aaaa.jpg']");

このようにjQueryのAPIで
<img src="aaa.jpg"> → <img src="bbb.jpg">
のようにしたいのですが、どのようにしたら置換してくれるのでしょうか?

hiddenの場合は簡単なんですけど、表示されているものを置換するのがなかなか・・。
もっと簡単に記述できませんでしょうか?
<input type="hidden" name="dmyflg" id="dmyflg" />
$("#dmyflg").val("1");

<span id="npg"></span>
$("#npg").text("ppp"); //←他ブラウザでは??

A 回答 (2件)

試してませんが、srcを書き換えるだけなら次のように書いてみては?


$("#img1 img").attr('src','bbb.jpg');
↑ id=img1 配下の<img>のsrc属性をbbb.jpgに書き換え。

http://semooh.jp/jquery/api/selectors/ancestor+d …
http://semooh.jp/jquery/api/attributes/

この回答への補足

申し訳ありません。

確かにうまくいきました!
ただ、FireFox3では、やはり読み取れず・・。

クロスブラウザ対策でjQueryを使っているんですが、やっぱりうまくいくものと行かないものがあるんですね。

現在のソースです。(IE6での動作確認)
arr[1] = "aaaa.jpg";
$("#img1 img").attr('src', "images/" + arr[1]);

<div id="img1"><img src='jsp/images/spacer.gif' width='100' height='60'></div>

です。ありがとうございますと共に、よろしくおねがいします。

補足日時:2008/07/28 19:15
    • good
    • 0
この回答へのお礼

ありがとうございます。

教えていただいた方法で何度かトライして見ました。
arr[1] = "aaaa.jpg";
var ss = "images/" + arr[1];
alert(ss);
$("#img1 img").attr('src', ss);

<img id="img1" src='images/spacer.gif' width='100' height='60'>
でやってみたのですが、確かにalertでデータはセットされるのですが、画像が表示されないという状態でした。ちなみにブラウザはIE6で確認、FireFox3での動作確認も同時に目指してます。

これは、やっぱりhtml要素だからと言う事なんでしょうか?
'囲み、id=#img1のみ指定でもやってみましたが、反映されませんでした。

div要素のappendではうまく行ったんですが、一旦remove()しなければならず、置換と言う動作を目指してます。

また、御気付きになりましたら、よろしくお願いします。

お礼日時:2008/07/28 19:04

Firefox2で試しましたが、attrでsrcの書き換えで表示の切り替えはできましたので、Firefox3とjQueryの相性の問題かも。


いずれ放っておいてもjQueryのバージョンアップで解決するかもしれませんが、今は面倒でも確実に動く方法にしておくのが無難かも・・。
    • good
    • 0
この回答へのお礼

ありがとうございます。

確認しました所、教えていただいた方法で大丈夫でした。
問題はhiddenのセットの方でした。パラメータが取得できていませんでした。
<input type="hidden" name="dmyflg" id="dmyflg" />
$("#dmyflg").val("1");
↑こっちですね。

ん~・・大丈夫と思ってたhiddenのセットの仕方を色々と試さないといけないですね。
他ブラウザで試すのも怖くなってきました・・。

ありがとうございます。srcへのセットは確認しました。

お礼日時:2008/07/28 22:27

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