2010-03-15 12 views
5

Właśnie dobiegł końca duży projekt rozwojowy. Mieliśmy mało czasu, więc duża część optymalizacji została "odroczona". Teraz, gdy dotrzymaliśmy terminu, wracamy i próbujemy optymalizować.Optymalizacje jQuery

Moje pytania są następujące: Jakie są niektóre z najważniejszych rzeczy, których szukasz podczas optymalizacji witryn jQuery. Alternatywnie chciałbym usłyszeć o witrynach/listach, które szczególnie dobrze radzą sobie z optymalizacją jQuery.

Przeczytałem już kilka artykułów, http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx było szczególnie dobrze przeczytać.

+2

+1 dla „25 doskonałych wskazówek” strona – ram

+0

dokładną kopią: http://stackoverflow.com/questions/1587375/what-are-some- quick-tips-for-increase-jquery-performance –

+0

Znalazłem najlepszą najlepszą optymalizację podążania za id> wyboru nazwy> priorytetu selektora nazwy klasy. Jeśli to możliwe, użyj identyfikatora, jeśli możesz, w przeciwnym razie używaj i element, w przeciwnym razie używaj klasy. #my_id jest lepszy niż div.my_class jest lepszy niż .myclass – aepheus

Odpowiedz

1

głównie patrzę na selektorów, które powtarzają c sobie .. większość czasu można je zapisać do zmiennej i stosowanych w kółko, na przykład:

$('.some_class').doSomthing(); 
$('.some_class').doSomethingElse(); 

można przekształcić:

selectedItems = $('.some_class'); 
selectedItems.doSomething(); selectedItems.doSomethingElse(); 

w ten sposób selektor przechodzi przez DOM raz ... można dalej używać zmiennej jako obiektu jQuery dzięki temu, że każda metoda jquery zwraca obiekt jquery.

Tylko jedna wskazówka na wiele tam ...

+1

Lub do '$ (" some_class "). DoSomething(). DoSomethingElse()'. Na początku może wydawać się niezręczny, ale jest to naprawdę przydatna funkcja. – Felix

+1

tak, oczywiście, masz rację - ale nie zawsze działa to w każdej sytuacji ... w większości tak, ale w niektórych przypadkach możesz potrzebować osobnych operacji. – Ken

+0

Podczas gdy coś takiego pomogłoby w znacznym stopniu zmniejszyć obciążenie (wykonanie jednej selekcji zamiast dwóch) przypuszczam, że zmiana na $ ("td.some_class") w wielu kontekstach dałaby więcej premii niż łańcuchów. – aepheus

Powiązane problemy