Я начал работать над некоторым проектом, а в коде я нахожу комбинации $ (document) .find ('selector'). и $ ('selector'). Я не могу найти настоящую причину, почему это делается. Я там какой-то существенный differsece между этими двумя, так что они используются одновременно в проекте? следует ли в некоторых случаях отдать предпочтение одному другому?
ответ
$(document).find("selector")
и $("selector")
будут соответствовать одному и тому же набору элементов.
Там нет причин использовать $(document).find(...)
над только $(...)
, и несколько причин не:
Это больше писать и более неудобно читать, раздувая размер сценария
Это приводит к более маслобойки памяти (более временные объекты получают создано/уничтожено)
Это медленнее - http://jsperf.com/vs-document-find, http://jsperf.com/selector-vs-find-again
1. Без всяких сомнений. 2. Было ли это указано где-то или может быть каким-то образом протестировано? Это звучит логично, но тем не менее ... 3. Для идентификаторов ожидается результат, но для базового селектора я не вижу большой разницы (ну, селектор выигрывает там тоже, да). – Regent
@Regent: Re 2: '$ (document)' выделяет и возвращает объект, тогда '.find (" selector ")' выделяет и возвращает объект * new *. –
$(document).find(selector)
и $(selector)
оба ищут селектор в документе.
Они функционально эквивалентны. Нет никакой разницы в поведении между $("selector")
, $(document).find("selector")
и $("selector", document)
.
Что касается производительности, некоторые варианты могут быть немного медленнее, чем другие (поскольку эти методы реализованы в терминах других). Это, однако, детализация реализации и может быть изменена между выпусками. Бенчмаркинг определенного выпуска наверняка скажет.
Gratuitous perf: http://jsperf.com/vs-document-find '$ (document) .find (...)' также приводит к большему сбою памяти (как и '$ (" selector ", context)' as все, что происходит, - это jQuery, преобразующий его в '$ (context) .find (« selector »)). –
- 1. jquery context selector vs .find()
- 2. Не может показаться целевым #document selector
- 3. разница между #selector (Aclass.method) и #selector (self.method)
- 4. ccTouchesMoved and selector: @selector (ButtonTapped :)
- 5. jQuery class selector vs cached element + find
- 6. jQuery this find selector not working
- 7. jQuery selector
- 8. jQuery .next selector not find class
- 9. jQuery empty selector (null selector)
- 10. jQuery Find Selector Not Select Array Item
- 11. jquery parent-selector объединяется с contains-selector
- 12. Почему $ ('selector') не возвращает тот же объект, что и $ .find ('selector')?
- 13. JQuery Selector
- 14. jQuery Selector
- 15. CSS attibute selector vs CSS selector
- 16. jQuery selector question
- 17. JQuery class selector vs id selector
- 18. JQuery Colorbox Iframe и Selector
- 19. @selector и возвращаемое значение
- 20. Fix четный и нечетный Selector
- 21. jQuery selector и ipad
- 22. Twitter urls и # selector
- 23. Непризнанный Selector Ошибка Однако Selector не Существует
- 24. FreeWall Selector
- 25. jQuery selector
- 26. JQuery && selector
- 27. jquery selector display и hide
- 28. JQuery Selector
- 29. jQuery Selector
- 30. NSTimer & Selector
с помощью переключателя вы непосредственно к элементам, которые вы хотите, с помощью функции поиска() вы будете искать РОМ найти элементы, которые будут принимать больше – Mivaweb
@VDesign с помощью '$ («DIV»)' по-прежнему требует искать в целом DOM, не так ли? – Regent
@Regent правильно! – Mivaweb