При использовании селекторов в CSS и в jQuery существуют ли различия в эффективности между использованием 'E#id'
и #id
, где E - любой элемент HTML? Если да, применяется ли это только к некоторым механизмам компоновки и/или механизмам JavaScript?Selector Performance - 'E # id' vs '#id' - в CSS и jQuery
ответ
Браузеры читают селектор справа налево, поэтому мало что можно получить, префикс чего-либо перед идентификатором; он избыточен в этой точке. Источник: Writing Efficient CSS от Mozilla
Это real world example, чтобы проверить это сами. TL: DR; это, кажется, не имеет большого значения, чтобы иметь значение.
Соответствующее дальнейшее чтение из предыдущей Stack Overflow question
На самом деле, 'E # id' имеет более высокую специфичность, чем' # id'. [Demo] (http://jsfiddle.net/x7Ahx/) – bookcasey
@bookcasey Это не относится к вопросу. OP интересуется только различиями в скорости между двумя селекторами в отношении javascript и механизмов выбора. –
Это не имеет никакого отношения к праву налево. – BoltClock
1) Считается, что использование идентификаторов для CSS не является хорошей практикой. Он должен использоваться при манипулировании контентом через javascript.
2) Над квалификационным селектором CSS с именем тега ul.top-nav или ul # top-nav будет только увеличивать накладные расходы на браузере, поскольку он должен соответствовать как тегу & class/ID. Следовательно, избегайте чрезмерной квалификации селектора.
- 1. JQuery class selector vs id selector
- 2. jquery id attribute selector
- 3. jquery multiple id selector
- 4. jQuery Selector после id
- 5. Использовать jQuery ID Selector с CSS
- 6. jQuery ID Selector ("#id") Возвращает массив
- 7. CSS Selector для инкрементируются ID
- 8. jQuery selector not on id
- 9. Неопределенная ошибка jQuery ID Selector
- 10. CSS CSS Selector, Select with id
- 11. jquery selector с классом и переменной id
- 12. JQuery Selector Performance Advice?
- 13. Jquery id selector в объекте html
- 14. jquery selector on id возвращает undefined для атрибута id
- 15. jquery selector performance
- 16. jquery variable id selector с тегом span
- 17. jQuery selector [id = variable] не работает
- 18. jQuery .val using ID selector undefined
- 19. jquery id selector echoed php? не работает
- 20. Как определить идентификатор jquery selector valid id?
- 21. . Метод .id() не работает на jQuery selector
- 22. JQuery selector не может найти id
- 23. E mail id storage
- 24. jquery id vs. class problem
- 25. jQuery vs DOM performance
- 26. jquery accessor id vs class?
- 27. CSS attibute selector vs CSS selector
- 28. Различаются между $ ('# id') vs $ (id)?
- 29. SQL Performance - SELECT COUNT vs SELECT id с LIMIT 1
- 30. jQuery selector vs each
Некоторые из новых (и я имею в виду новых) новых браузеров имеют инспекторы производительности CSS, которые позволяют вам проверять себя. – icktoofay
По-моему, единственная причина использования '' E # id'' заключается в том, что вы хотите только выбрать элемент с этим идентификатором _if_, это правильный тип, хотя я не могу действительно думать о многих примерах реального мира, где есть не будет лучшим способом сделать это в любом случае. (Помните, что идентификатор должен быть уникальным, поэтому его нельзя использовать для различения разных элементов на одной странице.) – nnnnnn
«id» должен появляться только один раз в документе, поэтому вам не нужно будет использовать имя элемента в этом селекторе. –