JavaScriptクリアクラス

WBOY
リリース: 2023-05-05 22:10:10
オリジナル
5595 人が閲覧しました

JavaScript は、Web ページをより鮮やかでリッチなものにすることができる強力なスクリプト言語です。 Web デザインでは、Web ページのスタイルを調整するためにいくつかのクラスを追加または削除する必要があることがよくあります。ただし、クラスをクリアしないと、Web ページのスタイルが混乱し、ユーザー エクスペリエンスに影響を与えます。この記事では、JavaScript が Web ページのスタイルをより適切に管理するためにクラスをクリアする方法を紹介します。

まず第一に、クラスの原理を理解する必要があります。 HTML では、class 属性を追加することで要素に 1 つ以上のクラス名を指定できます。例:

<div class="box red"></div>
ログイン後にコピー

CSS では、クラス セレクターを使用して、指定されたクラス名を持つ要素のスタイルを設定できます。 :

.box {
  width: 100px;
  height: 100px;
  border: 1px solid black;
}

.red {
  background-color: red;
}
ログイン後にコピー

このようにして、指定したクラス名の要素を背景が赤い四角いボックスに設定することができます。しかし、このクラスを削除したい場合はどうすればよいでしょうか?

1 つの方法は、jQuery を使用することです。例:

$('.box').removeClass('red');
ログイン後にコピー

これにより、クラスに赤い名前が含まれるすべての要素の赤いクラスを削除できますが、jQuery 自体はより大きなライブラリであり、導入部分はWeb ページの読み込み時間を増加させます。したがって、クラスをクリアする機能を実装するには、JavaScript のネイティブ メソッドを使用することを好みます。

1. element.classList.remove メソッドを使用する

Javascript は要素の classList 属性を提供し、すべてのクラス属性のクラス名を含む DOMTokenList オブジェクトを返します。

このオブジェクトによって提供される Remove メソッドを使用して、指定されたクラスを削除できます。例:

var box = document.getElementsByClassName('box')[0];
box.classList.remove('red');
ログイン後にコピー

これにより、box 要素の赤いクラスが削除されます。 classList.remove は 1 つのクラスのみを削除でき、複数のクラスは削除できないことに注意してください。

ループを使用して指定したクラスをバッチで削除する場合は、split メソッドを使用して classList オブジェクトを配列に変換し、次に forEach メソッドを使用して配列を走査して、指定したクラスを削除します。 。例:

var boxes = document.querySelectorAll('.box');
boxes.forEach(function(box) {
  box.classList.remove('red');
});
ログイン後にコピー

ここでは、querySelectorAll メソッドを使用してクラス ボックスを持つすべての要素を選択し、配列を走査してすべての赤いクラスを削除します。

2. element.className 属性を使用する

classList.remove メソッドを使用することに加えて、要素の className 属性を直接変更して、要素から削除するクラス名を削除することもできます。属性値。

例:

var box = document.getElementsByClassName('box')[0];
box.className = box.className.replace('red', '');
ログイン後にコピー

この例では、replace メソッドを使用して属性値の赤いクラスを空の文字列に置き換え、クラスを削除します。属性値に同一のクラス名が複数ある場合、このメソッドではそのうちの 1 つしか削除できないことに注意してください。

赤色のクラス名をすべて削除したい場合は、正規表現を使用してそれらを照合して削除できます。例:

var box = document.getElementsByClassName('box')[0];
box.className = box.className.replace(/red /g, '');
ログイン後にコピー

ここでは、g フラグを使用してグローバル一致を示し、赤い文字列を含む他のクラスが削除されないように正規表現にスペースを追加します。

3. getAttribute メソッドと setAttribute メソッドを使用する

className 属性を直接変更するだけでなく、getAttribute メソッドと setAttribute メソッドを使用して要素のクラス属性値を取得および設定することもできます。

例:

var box = document.getElementsByClassName('box')[0];
var classes = box.getAttribute('class').split(' ');
classes.splice(classes.indexOf('red'), 1);
box.setAttribute('class', classes.join(' '));
ログイン後にコピー

この例では、getAttribute メソッドを使用して要素のクラス属性値を取得し、それを配列に変換します。次に、splice メソッドを使用して指定された赤いクラスを削除し、join メソッドを使用して配列を文字列に変換し、setAttribute メソッドを使用してそれを新しいクラス属性値として設定します。

getAttribute メソッドと setAttribute メソッドは className 属性よりも遅いことに注意してください。したがって、実際の状況に応じて最適な方法を選択する必要があります。

結論

クラスのクリアは、Web ページのスタイル管理の重要な部分です。 jQuery、classList、className 属性、getAttribute および setAttribute メソッドを使用して、クラスをクリアする機能を実現できます。実際の状況に応じて最適な方法を選択することで、Web ページのスタイルを効果的に管理し、ユーザー エクスペリエンスを向上させることができます。

以上がJavaScriptクリアクラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!