ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で同じクラスを持つ複数の要素にクリック イベント リスナーを追加するにはどうすればよいですか?

JavaScript で同じクラスを持つ複数の要素にクリック イベント リスナーを追加するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-25 19:01:12
オリジナル
535 人が閲覧しました

How do you add click event listeners to multiple elements with the same class in JavaScript?

同じクラスを持つ複数の要素にクリック イベント リスナーを追加する

特定のクラスを持つすべての要素にクリック イベント リスナーを追加するには、 querySelector() の代わりに querySelectorAll() メソッドを使用できます。 querySelector() メソッドは最初に一致した要素を返し、querySelectorAll() は一致したすべての要素の NodeList を返します。

解決策:

var deleteLinks = document.querySelectorAll('.delete');
ログイン後にコピー

これで、すべての削除リンクの NodeList。それらをループして、それぞれにイベント リスナーを追加できます。 one.

for (var i = 0; i < deleteLinks.length; i++) {
    deleteLinks[i].addEventListener('click', function(event) {
        if (!confirm("sure u want to delete " + this.title)) {
            event.preventDefault();
        }
    });
}
ログイン後にコピー

イベント リスナーでは、this キーワードを使用して現在の要素を参照できます。これにより、要素の title 属性にアクセスし、ユーザーに確認メッセージを表示できるようになります。

注: のデフォルトのアクションを防ぐために、event.preventDefault() を使用することが重要です。ユーザーが削除を確認した場合、リンクは行われません。

ES6バージョン:

ES6 を使用すると、forEach() メソッドを使用してコードを簡素化できます:

Array.from(deleteLinks).forEach(link => {
    link.addEventListener('click', function(event) {
        if (!confirm(`sure u want to delete ${this.title}`)) {
            event.preventDefault();
        }
    });
});
ログイン後にコピー

以上がJavaScript で同じクラスを持つ複数の要素にクリック イベント リスナーを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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