質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

onclick

onclickとはユーザーのクリック処理を指します。これは"onmousedown"(押下)と"onmouseup"(押上)の二つの事象の組み合わせです

button

HTMLで用いる<button>タグです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

10383閲覧

【JavaScript】onClickでCSSのbackgroundを変更するには

_Lucia

総合スコア25

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

onclick

onclickとはユーザーのクリック処理を指します。これは"onmousedown"(押下)と"onmouseup"(押上)の二つの事象の組み合わせです

button

HTMLで用いる<button>タグです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2018/09/05 05:55

編集2018/09/05 06:04

htmlのボタンをクリックして、要素の背景画像を変更したいと思います。
背景画像はcssのbackground-imageを使用します。
背景を適用する対象はHTMLのdivです。(HTMLで背景画像は設定しないことにします)

そしてコードを書きましたが実行しても背景が変わりません。
どこが間違っているのでしょうか?

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> #xxxx { background-image: url(A.png); width: 200px; height: 120px; } </style> <SCRIPT type="text/javascript"> function change_B() { document.getElementById('xxxx').style.backgroundimage = url("B.png"); } function change_D() { document.getElementById('xxxx').style.backgroundimage = url("D.png"); } </script> </head> <body> <div id="xxxx"> ここで背景が変わる </div> <p> <input type="button" value="背景はBに変更" onclick="change_B"> <input type="button" value="背景はDに変更" onclick="change_D"> </p> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

これで行けました。変更点だけ記載します。
(Firefox最新版で確認済み)
具体的には
backgroundImage:Iが大文字
'url("B.png")': ''で囲う
onclick="change_B()": onclickスペル訂正&()追加

html

1 <SCRIPT type="text/javascript"> 2 function change_B() { 3 document.getElementById('xxxx').style.backgroundImage = 'url("B.png")'; 4 } 5 function change_D() { 6 document.getElementById('xxxx').style.backgroundImage = 'url("D.png")'; 7 } 8 </script> 9

html

1 <input type="button" value="背景はBに変更" onclick="change_B()"> 2 <input type="button" value="背景はDに変更" onclick="change_D()"> 3

投稿2018/09/05 06:06

編集2018/09/05 06:08
ponzu1990

総合スコア57

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_Lucia

2018/09/05 07:33

ご回答いただきありがとうございます おかげで実行できました! 細かいところが色々出来ていなかったのですね。 ()をよく忘れるので注意しようと思います。
ponzu1990

2018/09/05 07:36

うまく動いたようで何よりです、これからもプログラム作成楽しんでください〜(・ω・)
guest

0

たとえばclassを付け替えてみるとか

javascript

1<style> 2#xxxx { 3width: 200px; 4height: 120px; 5} 6 7#xxxx.a{background-Image:url(1.jpg);} 8#xxxx.b{background-Image:url(2.jpg);} 9#xxxx.c{background-Image:url(3.jpg);} 10 11</style> 12<script> 13function change(n) { 14 with(document.getElementById('xxxx').classList){ 15 ['a','b','c'].forEach(function(x){remove(x)});//IE対策 16 add(n); 17 } 18} 19</script> 20 21<div id="xxxx" class="a"> 22ここで背景が変わる 23</div> 24<p> 25<input type="button" value="背景はAに変更" onclick="change('a')"> 26<input type="button" value="背景はBに変更" onclick="change('b')"> 27<input type="button" value="背景はCに変更" onclick="change('c')"> 28</p>

投稿2018/09/05 07:18

yambejp

総合スコア114833

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問