- ベストアンサー
jQueryで表示している所をsubmit無しに置換したい
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"); //←他ブラウザでは??
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
試してませんが、srcを書き換えるだけなら次のように書いてみては? $("#img1 img").attr('src','bbb.jpg'); ↑ id=img1 配下の<img>のsrc属性をbbb.jpgに書き換え。 http://semooh.jp/jquery/api/selectors/ancestor+descendant/ http://semooh.jp/jquery/api/attributes/
その他の回答 (1)
- steel_gray
- ベストアンサー率66% (1052/1578)
Firefox2で試しましたが、attrでsrcの書き換えで表示の切り替えはできましたので、Firefox3とjQueryの相性の問題かも。 いずれ放っておいてもjQueryのバージョンアップで解決するかもしれませんが、今は面倒でも確実に動く方法にしておくのが無難かも・・。
お礼
ありがとうございます。 確認しました所、教えていただいた方法で大丈夫でした。 問題はhiddenのセットの方でした。パラメータが取得できていませんでした。 <input type="hidden" name="dmyflg" id="dmyflg" /> $("#dmyflg").val("1"); ↑こっちですね。 ん~・・大丈夫と思ってたhiddenのセットの仕方を色々と試さないといけないですね。 他ブラウザで試すのも怖くなってきました・・。 ありがとうございます。srcへのセットは確認しました。
お礼
ありがとうございます。 教えていただいた方法で何度かトライして見ました。 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()しなければならず、置換と言う動作を目指してます。 また、御気付きになりましたら、よろしくお願いします。
補足
申し訳ありません。 確かにうまくいきました! ただ、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> です。ありがとうございますと共に、よろしくおねがいします。