In jQuery ogni volta che incontro qualcosa di simile:CSS e jQuery selettore di velocità
$("div#MyDiv").....
Io generalmente dico sviluppatore: "Non preoccupatevi mettere il div
davanti #MyDiv
, selettori ID sono i più veloci. " Cioè
$("#MyDiv")....
Ciò è perché quest'ultimo collegare direttamente document.getElementById
invece di dover eseguire la scansione del DOM per tutti <div>
primi elementi.
La mia domanda è: le stesse regole si applicano ai selettori CSS? Cioè piuttosto che:
div#MyDiv
{
}
E 'più veloce per avere semplicemente ?:
#MyDiv
{
}
(mi rendo conto che i selettori CSS sono incredibilmente veloci in ogni caso, quindi in realtà non sarebbe fare una differenza significativa.)
Molte grazie
EDIT
Qualsiasi collegamento o riferimento potrebbe essere utile ai fini di questa discussione. Grazie :-)
Considerare il caso di: $ ("... ..."). Find ("# foo"). Ahia. All'improvviso le affermazioni sono passate attraverso il tetto (non sono consapevole di come questo caso funzionerebbe comunque). Comunque, * le due regole CSS sopra hanno una precedenza diversa * (la forma si è qualificata con il tag sempre leggermente più alto). –
@ pst - Non sono sicuro che io segua. Puoi espandere? –
Considera il caso in cui gli elementi non sono ancora allegati al documento. (Come * fa * jQuery gestire questo? Non correlato alla domanda finale però.) –