/ / Gdzie używać „: eq” i „.eq ()” w jquery - jquery

Gdzie używać ": eq" i ".eq ()" w jquery - jquery

JEŚLI :eq() i .eq() to ta sama funkcjonalność, dlaczego dwie metody. Czy jest jakiś cel?

LUB

Gdzie używać :eq()?

Gdzie używać .eq()?

Odpowiedzi:

1 dla odpowiedzi № 1

Główną różnicą (inną niż wydajność) jest użycie.

Jeden to selektor, a drugi to metoda.

Na przykład, oto dwa przykłady, które robią w zasadzie to samo.

$("#test li:eq(1) span"); Jest używane :eq() jako część selektora

$("#test li").eq(1).find("span"); jest używane .eq() jako metodę i uruchamianie znalezienia na zwróconym obiekcie jquery.

Oprócz pogorszenia wydajności preferencje należy do programisty. Moim zdaniem pierwszy jest bardziej czytelny, ale w sytuacji, gdy nie trzeba go znaleźć span, Wybrałbym drugi.


3 dla odpowiedzi № 2

http://jsperf.com/eq-vs-eq

Oboje robią to samo. Tyle że jeden jest wolniejszy. (:eq)

Więc używaj .eq() jeśli martwisz się wydajnością.

Tak jak Smeegs powiedział w komentarzach, :eq jest częścią selektora. Oznacza to, że po tym można dodać więcej. na przykład

$("#test li:eq(1) span");