<p>
<p>
Mehrere Elemente mit identischer ID reagieren auf CSS-Selektor
<p>Es gilt im Allgemeinen als schlechte Praxis, mehreren Elementen innerhalb einer einzelnen Webseite dieselbe ID zuzuweisen . Laut W3C-Dokumentation müssen ID-Attribute eindeutige Werte haben, um ihre jeweiligen Elemente eindeutig zu identifizieren.
<p>Bestimmte Situationen, wie z. B. die Verwendung von jQuery-Plugins, können jedoch versehentlich zu doppelten IDs führen. Überraschenderweise neigen Browser dazu, mit dieser Situation umzugehen, indem sie „stillschweigend versagen“. Sie versuchen, die Absicht hinter dem ungültigen HTML zu interpretieren und ihr Verhalten entsprechend anzupassen.
<p>Betrachten Sie beispielsweise den folgenden Code:
#red {
color: red;
}
Nach dem Login kopieren
<p>
Nach dem Login kopieren
<p>Trotz der doppelten IDs werden beide Absätze dies tun erscheinen in allen gängigen Browsern rot. Dieses Verhalten ist jedoch nicht garantiert und kann zu unerwarteten Nebenwirkungen führen.
<p>Beim Zugriff auf das Element über seine ID mit document.getElementById('red') wird nur das erste Element zurückgegeben. Um beide Elemente auszuwählen, müssten Sie einen Attributselektor wie document.querySelectorAll('p[id="red"]') verwenden. Dieser Ansatz wird jedoch in IE7 und niedriger nicht unterstützt.
<p>Um potenzielle Probleme zu vermeiden, wird dringend empfohlen, Klassennamen anstelle von IDs zu verwenden, um mehrere Elemente mit CSS anzusprechen. Klassennamen sind ausdrücklich für diesen Zweck konzipiert und gewährleisten Konsistenz über alle Browser hinweg.
Das obige ist der detaillierte Inhalt vonWarum funktionieren doppelte IDs in HTML manchmal und was ist die beste Vorgehensweise?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!