Ho letto più recentemente sull'efficienza dei diversi motori di selezione. So che jQuery usa il motore Sizzle e this blog post su alcune cose di jQuery menzionate che il motore Sizzle farà a pezzi il tuo selettore in un array e poi analizzerà da sinistra a destra.Selettori jQuery, efficienza
Quindi, da destra a sinistra, inizia a decifrare ogni elemento con espressioni regolari. Ciò significa anche che la parte più corretta del tuo selettore dovrebbe essere il più specifica possibile, ad esempio un id o un nome di tag.
La mia domanda è se sia più efficiente per eseguire un selettore con solo l'ID specificato o il nome del tag così:
var div = $('#someId');
//OR
var div = $('div#someId');
che non scrivo il mio CSS in forma div#someId
tendo per fare i miei selettori allo stesso modo, sto facendo sì che Sizzle esegua un lavoro extra (supponendo che QuerySelectorAll non sia disponibile)?
Ottima domanda! Stavo pensando di fare una domanda simile me stesso. –
Per le domande relative alle prestazioni, la soluzione migliore è di solito provarla tu stesso. jsperf.com può aiutarti a eseguire il benchmarking di snippet javascript. – Eduardo