2013-08-14 15 views
6

Was ist effizienter?jquery context selector vs .find()

var container = $("#container"); 

// 1 
var links1 = container.find("a"); 

// 2 
var links2 = $("a", container); 

ich persönlich $("a", container) bevorzugen, weil es besser aussieht, aber sind sie unterschiedlich in der Leistung?

+0

Unter der Haube sind sie sogar anders? –

+3

Diese Frage scheint off-topic zu sein, da es sich um Leistungsempfehlungen handelt, die eher gemessen als abgefragt werden sollten. –

+0

Die Kontextsyntax ist marginal langsamer, obwohl ich nur eine Frage von Millisekunden spreche. Trotzdem bevorzuge ich es zu benutzen. –

Antwort

8

Der Kontextselektor $("a", container) wird konvertiert, um zu finden. find() wird schneller sein, aber in den meisten Fällen könnte dies ignoriert werden. Ich würde für find() gehen, da seine Syntax für mich ganz klar ist. Diese post hat Leistungsvergleich, der Ihnen helfen würde, zu entscheiden, welche Sie verwenden würden.