[解決済み] 純粋なJavaScriptで要素からクラスを削除するには?
2023-06-06 05:03:24
質問
クラス名 "widget" と "hover" を持つすべての要素を選択し、これらの要素からクラス "hover" を削除する方法を知りたいのですが、どうすればよいでしょうか。
私は、クラス "widget"と "hover"を持つすべての要素を選択する次のJavaScriptコードを持っています。
var elements = document.getElementsByClassName('widget hover');
console.log(elements);
これはうまくいくようで、以下のように出力されます(エラーなし)。
[div#.widget...
問題は、クラス "hover" を削除しようとすると、エラーが発生することです。
var elements = document.getElementsByClassName('widget hover');
console.log(elements);
elements.classList.remove("hover");
これは出力されます。
[item: function]
length: 0
Uncaught TypeError: Cannot call method 'remove' of undefined
誰か私が間違っていることを教えてください。
私はそれがjQueryで動作していることに注意してください。
$('.widget.hover').removeClass('hover');
...しかし、私は純粋なJavaScriptで解決策を探しています。
どのように解決するのですか?
var elems = document.querySelectorAll(".widget.hover");
[].forEach.call(elems, function(el) {
el.classList.remove("hover");
});
パッチを適用することができます
.classList
を IE9 に組み込むことができます。そうでない場合は
.className
.
var elems = document.querySelectorAll(".widget.hover");
[].forEach.call(elems, function(el) {
el.className = el.className.replace(/\bhover\b/, "");
});
は
.forEach()
も IE8 用のパッチが必要ですが、いずれにせよこれはかなり一般的なことです。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] なぜ "use strict "はパフォーマンスを10倍向上させるのか?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?