Heim > Web-Frontend > js-Tutorial > Warum funktioniert der ID-Selektor von jQuery nur mit dem ersten Element, wenn mehrere Elemente dieselbe ID haben?

Warum funktioniert der ID-Selektor von jQuery nur mit dem ersten Element, wenn mehrere Elemente dieselbe ID haben?

Barbara Streisand
Freigeben: 2024-12-17 10:53:24
Original
1001 Leute haben es durchsucht

Why Does jQuery's ID Selector Only Work with the First Element When Multiple Elements Share the Same ID?

Verhalten des jQuery-ID-Selektors mit mehreren identischen IDs

Bei der Arbeit mit jQuery kann es zu einem Problem kommen, bei dem der ID-Selektor ($(" #xyz")) scheint nur den Wert vom ersten passenden Element abzurufen. Dieses Verhalten kann verwirrend und frustrierend sein, insbesondere wenn Sie erwarten, dass es für alle Elemente mit derselben ID funktioniert.

Der HTML-Code mit identischen IDs

Bedenken Sie Folgendes HTML-Code, der drei Schaltflächen fälschlicherweise dieselbe ID („xyz“) zuweist:

<button>
Nach dem Login kopieren

Die jQuery Code

Sie können den folgenden jQuery-Code ausprobieren, um den Wert der angeklickten Schaltfläche abzurufen:

$("#xyz").click(function() {
    var xyz = $(this).val();
    alert(xyz);
});
Nach dem Login kopieren

Warum es nur für die erste Schaltfläche funktioniert

In diesem Fall funktioniert der jQuery-Code nur für die erste Schaltfläche. Der jQuery-ID-Selektor dient dazu, das erste Element auszuwählen, das mit der angegebenen ID übereinstimmt. Da die ID „xyz“ mehrmals wiederholt wird, wird nur die erste zurückgegeben.

HTML-Ungültigkeit und die Lösung

Dieses Verhalten unterstreicht, wie wichtig es ist, gültiges HTML sicherzustellen Code. Gemäß den HTML-Spezifikationen muss jeder ID-Wert innerhalb eines Dokuments eindeutig sein. Mehrere Elemente mit derselben ID sind ungültig und sollten vermieden werden.

Um das Problem zu beheben, ersetzen Sie die ID durch ein 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

JQuery aktualisiert Code

Um den Wert der angeklickten Schaltfläche mithilfe des aktualisierten HTML-Codes abzurufen, verwenden Sie die Klasse Selektor:

$(".xyz").click(function() {
    alert(this.value);
});
Nach dem Login kopieren

Hinweis: In diesem überarbeiteten Code ist es nicht erforderlich, das Schlüsselwort „this“ mit $() zu umschließen, da es sich bereits um ein natives JavaScript-Objekt handelt.

Das obige ist der detaillierte Inhalt vonWarum funktioniert der ID-Selektor von jQuery nur mit dem ersten Element, wenn mehrere Elemente dieselbe ID haben?. 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