質問: ### 前提・実現したいこと JavaScriptで占いを作っているのですが、一つのボタンのonclick disableを他のボタンにも適用する事は可能でしょうか? 仕様を以下のようなものにしたいと思っています。 「今日の占い」と描かれているボタン(画像)が2枚並んでいる。 どちらかをクリックするとクリックされた画像が「ラッキー」「アンラッキー」などと書かれた画像に切り替わる(クリックされていない方の画像はそのまま)。 クリック後のボタン(画像)は2枚ともonclick disableとなり、再読み込みするまで二度目が引けなくなる。 ### 発生している問題・エラーメッセージ IDが重複していることが原因だと思うのですが、どちらを押しても一枚目(左側)に結果が反映されてしまいます。 ### 該当のソースコード ``` ``` ### 試したこと * リストIDを分ける card1,card2といった風にIDを分けるのかと思ったのですが、scriptのgetElementByIdでは複数のIDは指定できないうえ、もし出来たとしてもクリックされていない方の画像にも結果が出てしまいます。 * functionとIDを分ける card1とfunction1、card2とfunction2のようにしてしまっては、当然ですが完全に別のものになってしまいます。 PC言語に触れ始めて間もなく、文章も拙いもので申し訳有りませんが大変困っております。 解決法をご教示いただければと存じます。よろしくお願いします。
回答: * type属性にimageを指定している場合、**alt属性が必要**です(-HTML5タグリファレンス)。 * **id属性はユニークでなければならない**ので、もし1ページ内で同じ名前を何度も使いたいときはclass属性を使うと良いと思います。 * onclick属性を使うことはあまり好ましくないので、addEventListenerを使うほうがいいと思います。 * scriptタグの**language属性は廃止されている**ので、type属性を代わりに使うほうが良いです。 * new Arrayよりも[]を使った配列宣言のほうが好ましいです。 以上を踏まえると、質問者さんのコードは以下のように書けると思います。 ``` タイトル ```