Während in den meisten Fällen die Leistung der einzige Unterschied ist, kann der Unterschied im Ansatz auch das Ergebnis Ihres Codes beeinflussen, abhängig davon, welche Selektoren Sie verwenden.
Zum Beispiel fügt $("table").find("tr:even").addClass("even");
die Klasse "even" zu jeder zweiten Zeile in jeder einzelnen Tabelle hinzu, die zurückgegeben wird.Also, wenn die „even“ Klasse der Text in den Zeilen fett macht und Sie haben zwei Tabellen mit jeweils 3 Zeilen, würden Sie das folgende Ergebnis erhalten:
dies Tabelle eine Zeile 1
Dies ist eine Tabelle, Reihe 2
Dies ist eine Tabelle, Reihe 3
dies Tabelle zwei, Reihe 1
dies Tabelle zwei, Reihe 2
dies Tabelle zwei, Reihe 3
In beiden Fällen ist die 1. und 3. Reihe jeder Tabelle (dh die "geraden" Zeilen). . . Lass mich nicht mit dem even
Filter von JQuery anfangen, indem ich die ungeraden Zeilen auswähle. . .) sind fett gedruckt.
Auf der anderen Seite wird $("table tr:even").addClass("even");
die "even" -Klasse zu jeder anderen Zeile in der gesamten Gruppe von Zeilen aus allen Tabellen kombiniert hinzufügen.
dies Tabelle eine, Reihe 1
dies Tabelle eine, Reihe 2
dies Tabelle eine, Reihe 3
Diese Tabelle ist zwei, Reihe 1
dies Tabelle zwei, Reihe 2
dies Tabelle zwei, Zeile 3
In dieser Situation ist das die erste und dritte Zeile der zweiten Tabelle sind eigentlich die 4. und 6. Reihen der ganze Gruppe von <tr>
Elemente, so dass sie als "ungerade" behandelt werden. Die zweite Zeile der zweiten Tabelle ist jedoch die fünfte Zeile der gesamten Sammlung und wird daher als "gerade" behandelt und fett dargestellt.
Sie haben Ihre Antwort hier '->' http://Stackoverflow.com/a/6866023/235710 –
Antwort ist, gibt es keinen Unterschied in Begriff der übereinstimmenden Satz, aber find() ist ein wenig schneller, nichts, was Sie ' Ich werde nie beobachten, wenn Sie nicht tausend Elemente –