zacząłem pracę nad jakimś projektem, a w kodzie znajdę combintions o $ (document) .find ('selektor') i $ ("selektor"). Nie mogę znaleźć żadnego prawdziwego powodu, dla którego to się robi. Czy istnieje między nimi znacząca różnica, tak aby były one używane jednocześnie w projekcie? Czy w niektórych przypadkach powinienem preferować jeden przed drugim?
Odpowiedz
$(document).find("selector")
i $("selector")
dopasuje ten sam zestaw elementów.
Nie ma powodów, by używać $(document).find(...)
ciągu zaledwie $(...)
, a kilka powodów, aby nie:
To już pisać i bardziej niewygodne do czytania, pompowania rozmiar skryptu
Skutkuje więcej moduł pamięci (więcej tymczasowych obiektów jest tworzonych/niszczonych)
Jest wolniejszy - http://jsperf.com/vs-document-find, http://jsperf.com/selector-vs-find-again
1. Bez żadnych wątpliwości. 2. Czy zostało to gdzieś stwierdzone, czy może być w jakiś sposób przetestowane? Brzmi logicznie, ale mimo wszystko ... 3. Dla ID jest oczekiwany wynik, ale dla selektora podstawowego nie widzę dużej różnicy (no, selektor też tam wygrywa, tak). – Regent
@Regent: Re 2: '$ (document)' przydziela i zwraca obiekt, następnie '.find (" selektor ")' przydziela i zwraca * nowy * obiekt. –
$(document).find(selector)
i i obie szukają selektora w dokumencie.
Są funkcjonalnie równoważne. Nie ma żadnej różnicy w zachowaniu między $("selector")
, $(document).find("selector")
i $("selector", document)
.
Jeśli chodzi o wydajność, niektóre z wariantów może być nieco wolniejszy niż inni (ponieważ metody te są realizowane w warunkach innych). Jest to jednak szczegół implementacji i może ulec zmianie między wydaniami. Benchmarking konkretnej wersji dałoby pewność.
Nieuzasadniona perf: http://jsperf.com/vs-document-find '$ (document) .find (...)' również powoduje więcej pamięci rezygnacji (podobnie jak '$ (" selektor ", kontekst)' as wszystko co się dzieje to jQuery konwertuje je do '$ (context) .find (" selector ")'). –
- 1. Jaka jest różnica pomiędzy $ .each (selektor) i $ (selektor) .each()
- 2. Jaka jest różnica między $ ("selektor") i $ ("selektor"). ToArray()
- 3. selektor kontekstu jquery kontra .find()
- 4. Firefox, selektor kwerendy i widoczny pseudo-selektor
- 5. jQuery pusty selektor (zerowy selektor)
- 6. Jak selektor elementów jest bardziej szczegółowy niż selektor id?
- 7. jQuery Problem selektor atrybutu: Dynamiczne selektor atrybutu
- 8. Swift selektor - nierozpoznany selektor wysyłane do instancji
- 9. reallyvisible selektor
- 10. selektor CSS, nie jest potomkiem
- 11. Selektor dziedziczy
- 12. Czy jest jQuery selektor stylu?
- 13. Uzyskaj unikalny selektor jQuery
- 14. Usuń selektor nie działa
- 15. selektor klasy jQuery i kliknięcie()
- 16. Selektor atrybutów Chrome i CSS
- 17. jQuery unosić i selektor klasy
- 18. Bootstrap selektor daty i czasu
- 19. Selektor w swift3
- 20. jQuery: selektor nth-child()
- 21. Etykieta jQuery 'for' selektor atrybutu
- 22. Jaka jest różnica między Matcher.lookingAt() i find()?
- 23. jQuery wydajność selektor: ciekawy przypadek
- 24. Selektor kontra działanie Swift 4
- 25. selektor jQuery z "i" i "lub"
- 26. Selektor z 2 parametrami
- 27. selektor CSS natychmiastowe dziecko
- 28. Selektor czasu w QML
- 29. jquery ten selektor podrzędny?
- 30. jQuery w klasie selektor klasy
pomocą wybieraka bezpośrednio dostęp do elementów, które chcesz przy użyciu find() szukać DOM znalezienie elementów, które potrwa dłużej – Mivaweb
@VDesign używając '$ („div”)' nadal wymaga szukać w całym DOM, prawda? – Regent
@ Prawidłowe zachowanie! – Mivaweb