※ ChatGPTを利用し、要約された質問です(原文:jQueryでCSSの背景画像を切り替えたい)
jQueryでCSSの背景画像を切り替えたい
このQ&Aのポイント
jQueryを使用してCSSの背景画像を切り替える方法を知りたい。
WordPress環境での相対パスでの背景画像の指定方法がわからない。
jQueryで指定する変更後の背景画像を絶対パスに変更したら上手くいった。
見出しをクリック後にCSSで指定している背景画像を変えるため、jQueryでCSSを変更させてみたところ上手くいきません。
jQueryで指定する変更後の背景画像を絶対パスに換えたら上手くいったので、
パスの指定方法が悪いところまでは分かったのですが、相対パスでの指定方法がわからなくなりました。
WordPress環境で下記のコードを使用しています。
ご教授の程、よろしくお願い致します。
【 jQuery】
○ディレクトリ : テーマフォルダ/js/change.js
jQuery(function() {
jQuery("h3 div.class").hide();
jQuery("h3").click(function() {
jQuery(this).next().slideToggle("fast");
jQuery(this).css("background-image" , "url('img/pic2.jpg')");
});
});
【CSS】
○ディレクトリ : テーマフォルダ/style.css
h3 {
background: #7c8187;
background-image: url(img/pic.jpg);
cursor: pointer;
}
【画像】
○ディレクトリ :
テーマフォルダ/img/pic.jpg
テーマフォルダ/img/pic2.jpg
お礼
外部JSにした場合どのファイルから見た相対パスを打てばいいのか分からなかったので、非常に助かりました。 当方の事例の場合、外部JS(change.js)から見た画像の相対パスは「../img/pic2.jpg」になると思い試してみたところ、動作しませんでした。 続いて検証として全てのファイルを同階層に移し、パス指定をファイル名のみに変えても動作せず…何かがオカシイですね…。 WordPress環境下の為コレが原因かなと思い、change.js内のパスを「/wordpress/wp-content/themes/テーマフォルダ/img/pic2.jpg」に変更したところようやく画像の切替ができました。 なぜ上記のパスが必要かは理解できていません。精進します。 早速のご回答、誠にありがとうございました。