querySelectorAll: Knoten bearbeiten

8

Soweit ich das verstanden habe, gibt querySelector ein reelles veränderbares Element zurück, während querySelectorAll ein nicht-aktives statisches Knoten Set zurückgibt.

Ich möchte den Stil aller Elemente anpassen, die zu einem bestimmten Selektor passen. Es funktioniert gut für das erste Element mit querySelector , aber nicht für alle übereinstimmenden Elemente mit querySelectorAll . Ich schätze, das liegt daran, dass der Knotensatz nicht aktiv ist.

Gibt es eine Problemumgehung? Oder vermisse ich etwas?

    
fabb 10.06.2011, 17:12
quelle

3 Antworten

9

Das Problem ist, dass querySelector einen einzelnen Knoten zurückgibt. querySelectorAll gibt eine Menge von Knoten zurück (die Lebenszeit bedeutet, dass die Elemente in der Menge nicht entfernt werden, wenn Sie sie aktualisieren). Sie müssen für jedes der übereinstimmenden Elemente einen Stil festlegen, wahrscheinlich mit einer Schleife - Sie können nicht einfach eine Eigenschaft für alle Elemente festlegen.

Sie müssen wahrscheinlich so etwas tun:

%Vor%     
lonesomeday 10.06.2011, 17:21
quelle
5

das wird auch funktionieren ..

%Vor%     
shunryu111 18.03.2014 13:14
quelle
1

Wie beschrieben in querySelectorAll: Knoten bearbeiten , aber mit einer Möglichkeit, es zum Laufen zu bringen , da forEach nur auf Arrays und nicht auf NodeLists funktioniert:

%Vor%     
Sebastiaan Franken 30.01.2015 01:35
quelle