Czy te dwa fragmenty kodu robią identyczne rzeczy? Jeśli tak, to kiedy należy z niego korzystać? (Oprócz gdy trzeba coś zrobić z udziałem
i
lubvalue
)Zapętlanie selektora jquery vs używanie funkcji każdy$("foo").each(function(i,value) { $(this).empty(); });
vs.
$("foo").empty();
Ogólnie można przyjąć, że
$("foo").someMethod()
oznacza „runsomemethod()
na każdy element, który odpowiada selektor, z wyjątkiem przypadku, gdy nazwa metody toeach
? (tj. każdy jest przypadkiem specjalnym)
8
A
Odpowiedz
4
Zakładając, że masz na myśli funkcje magazynowe jQuery, tak, dwa fragmenty kodu są identyczne.
Powinieneś używać funkcji each()
, jeśli chcesz pracować z indeksem, lub aby zapobiec długim łańcuchom funkcji.
Twoje zrozumienie $('foo').someMethod()
jest prawdziwe w przypadku metod jQuery. Należy jednak pamiętać, że niektóre wtyczki mogą obsługiwać selektor w inny sposób lub wpływać tylko na pierwszy dopasowany element, na przykład.
3
Tak, większość funkcji jQuery zaprojektowano w ten sposób.
Spójrz na przykład kodu:
$.fn.someMethod = function() {
return this.each(function() {
do_something(this);
});
};
Więc nawet można użyć .each
ponownie, należy po prostu użyć:
$(selector).someMethod();
$(selector).each(function() {
$(this).someMethod();
});
Powiązane problemy
- 1. Zapętlanie funkcji JavaScript
- 2. Wydajność selektora jQuery
- 3. jquery składnia selektora $ ([]) i $ ("*")
- 4. Używanie obiektu bloku zamiast selektora?
- 5. AnyObject vs Struct (Każdy)
- 6. Tworzenie niestandardowej funkcji jQuery bez wstępnie wymaganego selektora
- 7. Zapętlanie obiektu (drzewa) rekurencyjnie
- 8. Uzyskaj bieżący ciąg selektora jQuery?
- 9. Uzyskiwanie selektora jQuery dla elementu
- 10. wykorzystujące zmienne w selektora jquery
- 11. jQuery: użycie zmiennej jako selektora
- 12. Element jquery + wydajność selektora klasy
- 13. Jak iterować wyniki selektora jquery
- 14. Wiele łańcuchów selektora w jQuery?
- 15. Jak iterować wynik selektora jquery
- 16. Jquery Każdy Json Object
- 17. jQuery każdy zawsze sortować?
- 18. jQuery vs jQuery Mobile vs jQuery UI?
- 19. Zastępowanie jQuery każdy z dla
- 20. Jquery: Pobierz każdy obraz src
- 21. Zapętlanie setTimeout
- 22. Wybierz poprzedni element, używając tylko selektora jQuery.
- 23. Użyj składni selektora jQuery DOM w PhantomJS?
- 24. Jak ustawić funkcję niestandardową dla selektora jQuery
- 25. Znajdź element według selektora stylu w jquery
- 26. Jak uzyskać element DOM z selektora JQuery
- 27. obiekt Inicjowanie Raphael z selektora jQuery
- 28. Stylizacja HTML i selektora BODY na wysokość: 100%; vs używanie 100vh
- 29. Używanie "$ (this)" w funkcji
- 30. Czy jQuery będzie szukać identyfikatora przed filtrowaniem innych parametrów selektora?
Jeśli don” t potrzebujesz indeksu przedmiotu, który opróżniasz, nie musisz używać 'each() 'polecenie. Idź z krótszą składnią. – Lix
@Lix: działa również szybciej: http://jsperf.com/jquery-selector-looping-vs-using-function-each – RASG