jQuery Leistung bei der Auswahl mehrerer Elemente

9

Dies ist eher eine Frage der Neugier. Wenn Sie Folgendes tun:

%Vor%

Durchläuft jQuery das DOM zweimal vollständig, um jede Menge von Objekten zu erhalten, die mit jedem Selektor übereinstimmen, oder findet es alle Elemente in einem Durchlauf des DOM?

    
DA. 25.01.2010, 23:11
quelle

2 Antworten

1

Ich denke, dass es die nativen Browserfunktionen verwendet, um dies zu finden:

%Vor%     
Will Earp 26.01.2010 15:16
quelle
1

Es hängt wirklich vom Browser ab. In neueren Browsern wird document.querySelectorAll für alle DOM-Abfragen verwendet (unter der Haube ruft dies document.getElementsByClassName für Klassen auf). In älteren Browsern, die dies nicht unterstützen, muss es das selbst herausfinden, was natürlich langsamer ist.

Im Allgemeinen solltest du lieber zuerst nach ID suchen (oder zumindest den Umfang einschränken). Klassen und Tag-Namen wären die nächsten für die Geschwindigkeit. Grundsätzlich sind die nativ unterstützten DOM-Operationen am besten.

    
Keith Rousseau 26.01.2010 17:59
quelle