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 № 1Głó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
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");