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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

2回答

647閲覧

onclickを使ったJSが機能しないです

Anri_Hani

総合スコア7

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

1クリップ

投稿2020/09/09 07:10

onclickを使って「クリックしたら指定の画像が表示される」という機能を実装したいのですが実装できません。
コードは以下になります。

HTML

1<section id="compact-kimono" class="compact-kimono fadein"> 2 <div class="inner"> 3 <p class="compact-kimono-txt">コンパクトプラン対象の衣装はこちら</p> 4 <nav class="dlnav"> 5 <dl> 6 <dt>《店舗別に衣装を調べる》</dt> 7 <dd><a onclick="clickBtn1()">半田スタジオ</a></dd> 8 <dd><a onclick="clickBtn2()">鶴舞スタジオ</a></dd> 9 <dd><a onclick="clickBtn3()">大府スタジオ</a></dd> 10 <dd><a onclick="clickBtn4()">豊田スタジオ</a></dd> 11 <dd><a onclick="clickBtn5()">横須賀スタジオ</a></dd> 12 <dd><a onclick="clickBtn6()">サクラヒルズ</a></dd> 13 </dl> 14 </nav> 15 <ul class="gallerylist"> 16 <li id="handa"><a href="./img/costume/kimono/handa/2h.jpg" class="swipebox" title="半田スタジオ"><img src="./img/costume/kimono/handa/2h.jpg" alt=""></a></li> 17 <li id="handa"><a href="./img/costume/kimono/handa/3h.jpg" class="swipebox" title="半田スタジオ"><img src="./img/costume/kimono/handa/3h.jpg" alt=""></a></li> 18 <li id="handa"><a href="./img/costume/kimono/handa/4h.jpg" class="swipebox" title="半田スタジオ"><img src="./img/costume/kimono/handa/4h.jpg" alt=""></a></li> 19 <li id="tsurumai"><a href="./img/costume/kimono/tsurumai/1t.jpg" class="swipebox" title="鶴舞スタジオ"><img src="./img/costume/kimono/tsurumai/1t.jpg" alt=""></a></li> 20 <li id="tsurumai"><a href="./img/costume/kimono/tsurumai/2t.jpg" class="swipebox" title="鶴舞スタジオ"><img src="./img/costume/kimono/tsurumai/2t.jpg" alt=""></a></li> 21 <li id="tsurumai"><a href="./img/costume/kimono/tsurumai/3t.jpg" class="swipebox" title="鶴舞スタジオ"><img src="./img/costume/kimono/tsurumai/3t.jpg" alt=""></a></li> 22 <li id="obu"><a href="./img/costume/kimono/obu/1o.jpg" class="swipebox" title="大府スタジオ"><img src="./img/costume/kimono/obu/1o.jpg" alt=""></a></li> 23 <li id="obu"><a href="./img/costume/kimono/obu/2o.jpg" class="swipebox" title="大府スタジオ"><img src="./img/costume/kimono/obu/2o.jpg" alt=""></a></li> 24 <li id="obu"><a href="./img/costume/kimono/obu/3o.jpg" class="swipebox" title="大府スタジオ"><img src="./img/costume/kimono/obu/3o.jpg" alt=""></a></li> 25 <li id="obu"><a href="./img/costume/kimono/obu/4o.jpg" class="swipebox" title="大府スタジオ"><img src="./img/costume/kimono/obu/4o.jpg" alt=""></a></li> 26 <li id="toyota"><a href="./img/costume/kimono/toyota/1toyo.jpg" class="swipebox" title=" 豊田スタジオ"><img src="./img/costume/kimono/toyota/1toyo.jpg" alt=""></a></li> 27 <li id="toyota"><a href="./img/costume/kimono/toyota/2toyo.jpg" class="swipebox" title=" 豊田スタジオ"><img src="./img/costume/kimono/toyota/2toyo.jpg" alt=""></a></li> 28 <li id="toyota"><a href="./img/costume/kimono/toyota/3toyo.jpg" class="swipebox" title=" 豊田スタジオ"><img src="./img/costume/kimono/toyota/3toyo.jpg" alt=""></a></li> 29 <li id="toyota"><a href="./img/costume/kimono/toyota/4toyo.jpg" class="swipebox" title=" 豊田スタジオ"><img src="./img/costume/kimono/toyota/4toyo.jpg" alt=""></a></li> 30 <li id="yokosuka"><a href="./img/costume/kimono/yokosuka/1y.jpg" class="swipebox" title="横須賀スタジオ"><img src="./img/costume/kimono/yokosuka/1y.jpg" alt=""></a></li> 31 <li id="yokosuka"><a href="./img/costume/kimono/yokosuka/2y.jpg" class="swipebox" title="横須賀スタジオ"><img src="./img/costume/kimono/yokosuka/2y.jpg" alt=""></a></li> 32 <li id="yokosuka"><a href="./img/costume/kimono/yokosuka/3y.jpg" class="swipebox" title="横須賀スタジオ"><img src="./img/costume/kimono/yokosuka/3y.jpg" alt=""></a></li> 33 <li id="yokosuka"><a href="./img/costume/kimono/yokosuka/4y.jpg" class="swipebox" title="横須賀スタジオ"><img src="./img/costume/kimono/yokosuka/4y.jpg" alt=""></a></li> 34 <li id="sakura"><a href="./img/costume/kimono/sakura/1s.jpg" class="swipebox" title="サクラヒルズ"><img src="./img/costume/kimono/sakura/1s.jpg" alt=""></a></li> 35 <li id="sakura"><a href="./img/costume/kimono/sakura/2s.jpg" class="swipebox" title="サクラヒルズ"><img src="./img/costume/kimono/sakura/2s.jpg" alt=""></a></li> 36 <li id="sakura"><a href="./img/costume/kimono/sakura/3s.jpg" class="swipebox" title="サクラヒルズ"><img src="./img/costume/kimono/sakura/3s.jpg" alt=""></a></li> 37 <li id="sakura"><a href="./img/costume/kimono/sakura/4s.jpg" class="swipebox" title="サクラヒルズ"><img src="./img/costume/kimono/sakura/4s.jpg" alt=""></a></li> 38 </ul> 39 </div> 40 </section>

HTML

1<script> 2//初期表示は非表示 3document.getElementById("handa").style.display ="none"; 4 5function clickBtn1(){ 6 const p1 = document.getElementById("handa"); 7 8 if(p1.style.display=="block"){ 9 // noneで非表示 10 p1.style.display ="none"; 11 }else{ 12 // blockで表示 13 p1.style.display ="block"; 14 } 15} 16</script>

galleryの1つ目のid="handa"は実装されており「初期設定で画像がdisplay:none」→「半田スタジオをクリックすると画像が出てくる」というものが実行されるのですが、2つ目と3つ目のid="handa"では実装されていません。
1つのページにidは1つだけだからでしょうか?

どのようにしたら2つ目と3つ目のid="handa"の画像も同じく実装できるでしょうか?
どなたか解決案のわかる方はおられませんか?
居ましたらご連絡よろしくお願いいたします!

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

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

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

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

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

pekopekoapricot

2020/09/09 07:13

基本的にhtmlの中に同じidは複数存在しないほうがよいです。 同じものなら class を使えばよいのでは? idではいけない理由はあるのですか?
m.ts10806

2020/09/09 07:32

jQueryは本件と関係かと思います。
guest

回答2

0

ベストアンサー

1つのページにidは1つだけだからでしょうか?

はい。「ID」は「identity」ですから。

どのようにしたら2つ目と3つ目のid="handa"の画像も同じく実装できるでしょうか?

同じ挙動させたい要素に同じクラスをつけ、そのクラスに対して実装すると良いです。

投稿2020/09/09 07:34

m.ts10806

総合スコア80861

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

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

0

liのidが被っているのでNG。
idをクラスにするかdata-studioなどカスタムデータに変更してください

投稿2020/09/09 07:33

yambejp

総合スコア115010

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問