Heim >Web-Frontend >CSS-Tutorial >Wie kann ich Div-Elemente mit mehreren Klassennamen abfragen?
Div-Elemente nach mehreren Klassennamen abfragen
In dem Szenario, in dem ein Webelement mehrere Klassennamen hat, erfolgt die Abfrage mithilfe von className mit Leerzeichen. getrennte Werte ist aufgrund der eingeschränkten Funktionalität nicht möglich. Um dieses Problem anzugehen, stehen mehrere alternative Ansätze zur Verfügung.
XPath-Locator:
XPath ermöglicht die Verwendung mehrerer Kriterien bei der Elementidentifizierung. Der folgende Ausdruck gleicht beispielsweise Elemente mit den Klassen „value“ und „test“ ab:
//div[contains(@class, 'value') and contains(@class, 'test')]
CSS-Selektoren:
CSS-Selektoren bieten eine prägnante und übersichtliche Darstellung effiziente Alternative. Das Zeichen „*“ kann verwendet werden, um einen beliebigen Wert innerhalb eines Klassennamens abzugleichen.
div[class*='value test']
In Fällen, in denen die Reihenfolge der angegebenen Klassen keine Rolle spielt, kann der folgende Selektor verwendet werden:
div.value.test
Benutzerdefinierte Implementierungen:
Für komplexere Abfragen können benutzerdefinierte Implementierungen mit JavaScript oder Browser-APIs erforderlich sein.
Beispiele:
Bedenken Sie die folgende HTML-Struktur:
<div class="value test"></div> <div class="value test "></div> <div class="first value test last"></div> <div class="test value"></div>
Die folgende Tabelle zeigt, wie die verschiedenen Ansätze diesen Elementen entsprechen würden:
Approach | Matching Elements |
---|---|
By.xpath("//div[@class='value test']") | 1 |
By.xpath("//div[contains(@class, 'value test')]") | 1, 2, 3 |
By.cssSelector("div[class='value test']") | 1 |
By.cssSelector("div[class*='value test']") | 1, 2, 3 |
By.cssSelector("div.value.test") | 1, 2, 3, 4 |
Durch Auswahl des am besten geeigneten Ansatzes Für die spezifischen Anforderungen an die Elementidentifizierung können Entwickler Webelemente mit mehreren Klassennamen effektiv finden.
Das obige ist der detaillierte Inhalt vonWie kann ich Div-Elemente mit mehreren Klassennamen abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!