Selektiere all nachfolgenden benachbarten DIVs
John
- css
- javascript
Hallo miteinander,
Ich habe eine Frage bzgl. CSS Selektoren in Verbindung mit Javascript:
Ich habe ein DIV mit der ID von "Container", innerhalb dieses Containers befinden sich mehrere Sub-DIVs.
Um alle Sub-DIVs mit Javascript anzusprechen verwende ich
document.querySelectorAll("#Container div");
Wie kann ich jedoch nur jene NachbarDIVs selektieren, die nach einem bestimmten DIV kommen?
// div mit der Id of "hacker"
hacker.querySelectorAll( // alle benachbarten nachfolgenden Divs ... ?
Danke. John.
Hallo,
// div mit der Id of "hacker" hacker.querySelectorAll( // alle benachbarten nachfolgenden Divs ... ?
aufgrund der im Abschnitt "Beachten Sie" genannten Einschränkung könnte der Geschwister-Selektor (Sibling Selector) genau das leisten, was du suchst.
Immer eine Handbreit Wasser unterm Kiel
Martin
@@John
Wie kann ich jedoch nur jene NachbarDIVs selektieren, die nach einem bestimmten DIV kommen?
Mit dem general sibling combinator.
😷 LLAP
Stimmt, aber ich habe das Problem wohl nicht richtig formuliert.
Ich möchte alle nachfolgenden DIVs einer Gruppe von DIVs finden.
BSP: ich habe im Container 4 DIVs, daher findet:
DIV1 => DIV2, DIV3, DIV4,
DIV2 => DIV3, DIV4,
DIV3 => DIV4
DIV4 => undefined (oder 0 bzw. Null?)
for const (DIV of DIVs) {
DIV.querySelectorAll( // alle nachfolgenden Nachbaren von DIV
}
(Haben leider nicht alle eine ID, mit der ich sie ansprechen und benennen könnte)
@@John
for const (DIV of DIVs) {
Das wird wohl nichts. Die Klammer steht falsch und die Schleifenvariable sollte wohl nicht mit const
deklariert werden, sondern mit let
.
DIV.querySelectorAll( // alle nachfolgenden Nachbaren von DIV }
Ich hätte vermutet, dass es DIV.querySelectorAll(':scope ~ div')
tut. Tut’s aber nicht.
Aber eine while
-Schleife und nextElementSibling
sollte es tun.
😷 LLAP