Heim > Web-Frontend > js-Tutorial > Warum funktioniert mein jQuery-ID-Selektor nur beim ersten Element?

Warum funktioniert mein jQuery-ID-Selektor nur beim ersten Element?

Linda Hamilton
Freigeben: 2024-12-28 01:47:10
Original
991 Leute haben es durchsucht

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

jQuery-ID-Selektor wählt nur das erste Element aus: Verständnis des Problems

Obwohl es drei Schaltflächen mit identischen IDs gibt, reagiert der #id-Selektor von jQuery nur auf den ersten Tastenklick. Dieses Verhalten ist auf eine grundlegende HTML-Regel zurückzuführen, die vorschreibt, dass jedes Element innerhalb eines Dokuments eine eindeutige ID haben muss.

Ungültige HTML-Struktur

Der bereitgestellte HTML-Code verstößt gegen diese Regel, indem er dieselbe ID zuweist (" xyz") auf mehrere Schaltflächen. Gemäß der HTML-Spezifikation „weist dieses Attribut einem Element einen Namen zu. Dieser Name muss in einem Dokument eindeutig sein.“

Lösung: In Klassen konvertieren

Um dieses Problem zu beheben, ersetzen Sie das ID-Attribut mit einem Klassenattribut für jede Schaltfläche:

<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>
Nach dem Login kopieren

Überarbeiteter jQuery-Code

Mit der aktualisierten HTML-Struktur sollte der jQuery-Code sein wie folgt geändert:

$(".xyz").click(function(){
    alert(this.value);
    // No need for jQuery $(this).val() to get the value of the input.
});
Nach dem Login kopieren

Das Verhalten von jQuery verstehen

Der #id-Selektor von jQuery wählt nur das erste Element mit der angegebenen ID im DOM aus. Dies liegt daran, dass die zugrunde liegende Funktion document.getElementById im Browser dieses Verhalten ausführt.

Fazit

Durch Befolgen dieser Richtlinien können Sie mehrere Elemente mit demselben Funktionszweck in jQuery effektiv verarbeiten und so dies sicherstellen Alle Tasten reagieren wie erwartet auf Klicks.

Das obige ist der detaillierte Inhalt vonWarum funktioniert mein jQuery-ID-Selektor nur beim ersten Element?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage