Ein paar Fragen eigentlichWelcher dieser Selektoren ist wahrscheinlich schneller?
Da die beiden folgenden das gleiche Ergebnis
$("#MyTable tr");
$("tr", "#MyTable");
gesetzt zurück gibt es einen Unterschied in der Leistung der Eltern-Kind-CSS-Selektor Konvention oder die Angabe eines Zusammenhang zwischen der Verwendung von der Selektor stattdessen?
Auch, da ich garantieren kann, dass ein tr wird ein unmittelbares Kind eines Tisches sein, würde dies auf die Leistung der oben genannten verbessern?
$("#MyTable>tr")
„gegeben, dass ich ein tr garantieren kann, wird sofort ein Kind einer Tabelle sein“ sein sollte - wetten Sie nicht darauf. Browser sollten (außer im XHTML-Modus) ein tbody-Element zwischen Tabellen und Tabellenzeilen implizieren. – Quentin
@ David Dorward - Fairer Kommentar. Wenn wir diese Grundannahmen nicht machen können, macht das nicht diesen Selektor und die Funktion .children() überflüssig? –
Nein. Es bedeutet nur, dass Sie im Umgang mit Elementen mit impliziten Start-Tags vorsichtig sein müssen. Die einzige, die routinemäßig das Start-Tag nicht enthält, ist tbody, sei nur explizit darüber, dass es da ist und du kannst aufhören, dir Sorgen zu machen. – Quentin