2016-04-11 10 views
7

Sagen wir, ich möchte alle div Elemente und span innerhalb finden. Ist es möglich, alle zu bekommen, was ich in einem einzigen `querySelectorAll“ Aufruf willKann ich logische Operatoren in document.querySelectorAll einfügen? Wenn das so ist, wie?

Konzeptionell sollte es so etwas wie document.querySelectorAll("div | p span")?.. (Wenn | bedeutet oder)

+1

Können Sie logische Operatoren auf CSS-Selektoren setzen? –

+0

'document.querySelectorAll (" p div, p span ")' –

+0

@RayonDabre Das ist falsch. Das wird 'span' Elemente innerhalb von' p' und alle 'div' Elemente im gesamten DOM auswählen. –

Antwort

7

Ja Sie können das gleiche verwenden logische Operatoren in CSS erlaubt:

OR: Kette Selektoren mit Komma

document.querySelectorAll('div, p span'); 
// selects divs, and spans in ps 

UND: Kette Selektoren ohne Leerzeichen

document.querySelectorAll('div.myClass'); 
// selects divs with the class "myClass" 

NICHT: :not() -selector

document.querySelectorAll('div:not(.myClass)'); 
// selects divs that do not have the class "myClass" 
+1

Sie haben einen Tippfehler beim letzten Tipp gemacht. Sollte 'document.querySelectorAll ('div: not (.myClass)');' –