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
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '316918',
    'url' => 'jquery-performance-when-selecting-multiple-items',
];

$_SESSION = [
    '__flash' => [],
];