Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
> div { /* ... */ } |
Цитата:
|
Сделал бенчмарк при 20 дивах, каком-то количестве других элементов, 10000 итерациях. Селекторы быстрее в 17 раз. Может быть можно оптимизировать выборку по childNodes, но, уверен, это не придаст существенного увеличения скорости.
Бенчмарк без присваивания результатов выборки: http://jsfiddle.net/finom/RDV7g/6/ selector: 189ms childNodes: 3246ms Бенчмарк с присваиванием: http://jsfiddle.net/finom/LBU4W/1/ selector: 188ms childNodes: 3170ms |
Цитата:
|
Ах да, для запуска нужен хром и консоль.
|
А вот тест с поиском по атрибуту:
<div data-id="main1234567">...</div> div.querySelectorAll('[data-id="main1234567"] > div'); http://jsfiddle.net/finom/LBU4W/2/ Результат тот же. |
http://jsfiddle.net/RDV7g/7/
Firefox: selector: 442ms childNodes: 654ms Chrome: selector: 689ms childNodes: 1173ms http://jsfiddle.net/RDV7g/8/ Firefox: childNodes: 302ms selector: 451ms Chrome: childNodes: 373ms selector: 681ms Давайте не усложнять код :) |
Часовой пояс GMT +3, время: 21:37. |