• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryで画像置換が上手くいきません)

jQueryで画像置換が上手くいかない理由と解決法

このQ&Aのポイント
  • PCサイトをスマホで表示する際、特定の画像を小さいサイズに置換したいが、jQueryで画像置換がうまくできない。
  • スマホ専用サイトを作成するわけではないため、一部の画像のみを置換したいが、サンプルスクリプトが正常に動作しない。
  • スクリプトに構文エラーはなく、スクリプトの出所は http://ascii.jp/elem/000/000/561/561127/index-3.html である。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 DOM構築前に画像の設定を変えようとしているから動かないんだと思います。 ようはh1の直下にあるimgが無い状態。 $().ready ( function() { if ( (navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { $('h1>img').attr('src', 'images/aaa.jpg').attr('width', '320').attr('height', '50'); } }); こうすることにより全て構築後に呼び出されますのでh1>imgが存在することとなり、大きさ等変更できると思います。

momorika
質問者

お礼

ご回答ありがとうございます! 試したところ、ちゃんと動きました。 よく理解しないまま使おうとしていたのがいけなかったです。 勉強になりました。 どうもプログラムは苦手で、躓いてばかりです。 もっと勉強していきます。 本当にありがとうございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

よくわかってませんが… >'h1>img' は、h1要素直下の画像要素を意味すると思いますが、ご提示のソースには該当するものがないのでは? 'h1 img' とかにすれば一応動作すると思いますが…

momorika
質問者

お礼

ご回答ありがとうございました。 LancerVIIさんと同じようなことを仰られていたのですね。 理解が足らずすみませんでした。 本当にありがとうございました。

momorika
質問者

補足

早速のご回答ありがとうございます。 > >'h1>img' > は、h1要素直下の画像要素を意味すると思いますが、ご提示のソースには該当するものが > ないのでは? との事ですが、<a>タグが邪魔だということでしょうか? なお、実際には以下の通りでした。間違えておりました。すみません。 <h1><img src="images/bbb.gif" width="700" height="100" alt="hoge" /></h1> 試してみましたが、残念ながら動きませんでした。 javascriptは詳しい方ではないので、見当違いな事を書いていたらすみません。 引き続き何かアドバイスいただけたらお願いいたします。

専門家に質問してみよう