Poniżej mam dwa selektory jQuery.Łańcuch zdarzeń i iteracji DOM
Pierwszy szuka elementu DOM w zbuforowanym obiekcie, a następnie przeszukuje jego rodziców, a następnie wybiera rodziców (tabela) dla innego elementu dom. (dawny 2)
Drugi (2 wiersze) wyszukuje za pomocą elementu zapisanego w pamięci podręcznej. (np. 1)
$('element', table.setting.body).on('blur focus', table.focus).parents('parent').find('another element').on('click', function); // ex2
$('element', table.setting.body).on('blur focus', function); // ex 1
$('another element', table.setting.body).on('click', function); // ex 1
Który jest szybszy/najlepsza praktyka?
Przykł. 1 bez wątpienia będzie szybszy w odniesieniu do funkcji jQuery, tj. .hide().animate().show()
, ale kiedy należy szukać elementów DOM?
Różnica między tymi dwoma będzie bardzo mała, prawdopodobnie nie warto się martwić.Poszedłbym z opcją 2 po prostu dlatego, że łatwiej będzie ją utrzymać. –
http://jsperf.com/ –
W tym konkretnym przykładzie zgadzam się, ale pracując nad aplikacją na większą skalę i wiążąc wiele elementów/iterując większy dom, być może zrobiłbym różnicę, nie wiem. Po prostu dobrze jest wiedzieć, że może być użyteczny w innych przykładach. –