ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript を使用して要素クラスを効率的に変更するにはどうすればよいですか?

JavaScript を使用して要素クラスを効率的に変更するにはどうすればよいですか?

DDD
リリース: 2024-12-28 08:39:10
オリジナル
624 人が閲覧しました

How Can I Efficiently Change Element Classes Using JavaScript?

JavaScript イベントを使用して要素クラスを変更する方法

最新の HTML5 テクニック

最新のブラウザは、クラスを操作するためのメソッドを提供する classList プロパティをサポートしています。

document.getElementById("MyElement").classList.add('MyClass');
document.getElementById("MyElement").classList.remove('MyClass');
if (document.getElementById("MyElement").classList.contains('MyClass'))
  document.getElementById("MyElement").classList.toggle('MyClass');
ログイン後にコピー

シンプルなクロスブラウザ解決策

すべてのクラスの変更:

className を使用してすべてのクラスを設定:

document.getElementById("MyElement").className = "MyClass";
ログイン後にコピー

追加クラスの追加:

スペースと新しいクラス:

document.getElementById("MyElement").className += " MyClass";
ログイン後にコピー

の削除クラス:

正規表現の使用置換:

document.getElementById("MyElement").className =
  document.getElementById("MyElement").className.replace(/(?:^|\s)MyClass(?!\S)/g, '');
ログイン後にコピー

クラスのチェック:

チェックに同じ正規表現を使用:

if (document.getElementById("MyElement").className.match(/(?:^|\s)MyClass(?!\S)/))
ログイン後にコピー

割り当てonClick イベントに対するアクション

HTML でのインライン JavaScript の使用を避ける属性。代わりに、関数を作成し、onClick 属性で呼び出します:

<script>
  function changeClass() {
    // Action code
  }
</script>
<button onClick="changeClass()">My Button</button>
ログイン後にコピー

または addEventListener を使用して:

<script>
  window.onload = function() {
    document.getElementById("MyElement").addEventListener('click', changeClass);
  }
</script>
<button>
ログイン後にコピー

JavaScript フレームワークとライブラリ

jQuery の例

$('#MyElement').addClass('MyClass');
$('#MyElement').removeClass('MyClass');
if ($('#MyElement').hasClass('MyClass'))
ログイン後にコピー

トグルクラス:

$('#MyElement').toggleClass('MyClass');
ログイン後にコピー

クリック イベントの割り当て:

$('#MyElement').click(changeClass);
ログイン後にコピー

以上がJavaScript を使用して要素クラスを効率的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート