ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery ID セレクターが最初の要素でのみ機能するのはなぜですか?

jQuery ID セレクターが最初の要素でのみ機能するのはなぜですか?

Linda Hamilton
リリース: 2024-12-28 01:47:10
オリジナル
973 人が閲覧しました

Why Does My jQuery ID Selector Only Work on the First Element?

jQuery ID セレクターは最初の要素のみを選択します: 問題の理解

同一の ID を持つ 3 つのボタンがあるにもかかわらず、jQuery の #id セレクターは最初のボタンのクリックにのみ応答します。この動作は、ドキュメント内の各要素に一意の ID が必要であるという基本的な HTML ルールに起因します。

無効な HTML 構造

提供された HTML コードは、同じ ID を割り当てることでこのルールに違反しています (" xyz") を複数のボタンに設定します。 HTML 仕様によれば、「この属性は要素に名前を割り当てます。この名前はドキュメント内で一意である必要があります。」

解決策: クラスに変換

この問題に対処するには、各ボタンのクラス属性を持つ ID 属性:

<button type="button" class="btn btn-primary xyz" value="1">XYZ1</button>
<button type="button" class="btn btn-primary xyz" value="2">XYZ2</button>
<button type="button" class="btn btn-primary xyz" value="3">XYZ3</button>
ログイン後にコピー

改訂された jQuery コード

更新された HTML

$(".xyz").click(function(){
    alert(this.value);
    // No need for jQuery $(this).val() to get the value of the input.
});
ログイン後にコピー

jQuery の動作を理解する

jQuery の #id セレクターは、DOM 内の指定された ID を持つ最初の要素のみを選択します。これは、ブラウザーの基になる document.getElementById 関数がこの動作を実行するためです。

結論

これらのガイドラインに従うことで、同じ機能目的を持つ複数の要素を jQuery で効果的に処理でき、次のことが保証されます。すべてのボタンが期待どおりにクリックに反応します。

以上がjQuery ID セレクターが最初の要素でのみ機能するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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