[過去ログ]
JavaScript の質問用スレッド vol.125 (1002レス)
JavaScript の質問用スレッド vol.125 http://mevius.5ch.net/test/read.cgi/tech/1659855460/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
324: デフォルトの名無しさん (ワッチョイ a797-g9pY [121.94.16.107]) [] 2022/12/05(月) 22:13:18.07 ID:lIq+TvzU0 すいません。 各<button>要素のkeyクラスに対して、背景色をつけたい。 [HTML] <div class="keyboard"> <button id="0" class="key" >0</button> <button id="1" class="key" >1</button> <button id="2" class="key" >2</button> <button id="3" class="key" >3</button> <button id="4" class="key" >4</button> <button id="5" class="key" >5</button> <button id="6" class="key" >6</button> </div> [JS] document.getElementsByClassName("key").style.backgroundColor = 'skyblue'; これでエラーがでるのだが。何が勘違いしていますでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/324
325: デフォルトの名無しさん (ワッチョイ 1b8b-Yzbi [210.228.102.1]) [sage] 2022/12/05(月) 22:30:17.43 ID:iMOo3onG0 >>324 document.getElementsByClassName("key") で返ってくるのは要素の配列(正確には配列風のオブジェクト) なのでforで回すなりして各要素ごとにスタイルつける http://mevius.5ch.net/test/read.cgi/tech/1659855460/325
331: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [sage] 2022/12/06(火) 18:36:58.90 ID:xVTCRvFV0 >>324 をそのままChatGPTに投げてみた `getElementsByClassName()`は、要素の配列(HTMLCollection)を返すメソッドです。 そのため、`getElementsByClassName()`に対してスタイルを設定することはできません。 そのため、エラーが発生していると思われます。 代わりに、以下のように各要素に対して個別にスタイルを設定する必要があります。 const keys = document.getElementsByClassName("key"); for (let i = 0; i < keys.length; i++) { keys[i].style.backgroundColor = 'skyblue'; } また、代わりにquerySelectorAll()を使用することもできます。 このメソッドは、CSSセレクター(今回の場合は.key)を指定して、該当する要素の配列(NodeList)を返すものです。 以下のように書くことができます。 Copy code const keys = document.querySelectorAll(".key"); for (let i = 0; i < keys.length; i++) { keys[i].style.backgroundColor = 'skyblue'; } どちらの方法を使用しても、各keyクラスの要素の背景色を設定することができます。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/331
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.033s