2012-07-24 13 views
14

Na przykład, kiedy używamy $('div span'), w jaki sposób jQuery robi takie wyszukiwanie dla nas?Jak mogę się dowiedzieć, w jaki sposób selektory jQuery działają za kulisami?

Czy najpierw szuka elementu span, czy div?

Wygląda na to, że strona oficjalna jQuery nie ma żadnego wyjaśnienia; pokazuje nam tylko, jakie funkcje są dostępne za pośrednictwem interfejsu API.

Chcę wiedzieć, w jaki sposób każdy typ selektora jQuery jest zaimplementowany, więc mogę wybrać najlepszy selektor do użycia.

Czy wiesz, gdzie mogę uzyskać takie informacje?

+0

Ostateczna odpowiedź jest tutaj: https://github.com/jquery/jquery/ – JJJ

+1

sprawdź kod źródłowy jQueru http://code.jquery.com/jquery-latest.js – Shyju

+3

A w przypadku określonych selektorów, ostateczna odpowiedź jest często tutaj: https://github.com/jquery/sizzle/ –

Odpowiedz

0

Najprostszym miejscem do wyszukiwania byłoby czytanie bezpośrednio ze źródła. Pobierz nieskompresowane źródło z witryny jQuery i odczytaj z surowego źródła, co robi i w jakiej kolejności.

http://jquery.com/download/

0

Jak @Juhana skomentował, jeśli chcesz dowiedzieć się konkretnych metod jQuery używa do zaznaczania obiektów na podstawie jego selektorów, spojrzeć na repozytorium github:

https://github.com/jquery/jquery/

Alternatywnie, wygląd przy kodzie źródłowym dostępnym w nieskompresowanym pobieraniu jQuery:

http://jquery.com/download/

Jeśli chcesz tylko wiedzieć, jakie są dostępne dla Ciebie różne przełączniki, jQuery zawiera listę nich tutaj:

http://api.jquery.com/category/selectors/

4

Najpierw szuka elementów span.Analizuje selektor jak:

  1. Każdy element z tagName = rozpiętość
  2. uwzględniając przodka z tagName = strefa

Na pierwszej części może użyć metody getElementsByTagName znaleźć wszystkie span elementów, następnie musi przechodzić przez przodków każdego z nich, aby wyszukać elementy.

Powiązane problemy