Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Селектор первого потомка (https://javascript.ru/forum/misc/24296-selektor-pervogo-potomka.html)

FINoM 26.12.2011 04:12

Nekromancer, а причем здесь nodeName? Селектором может быть не только 'div', но и 'div.blabla1.blabla2[title="blabla"]'

Nekromancer 26.12.2011 04:18

Ну и чё?
http://jsfiddle.net/RDV7g/9/
childNodes: 314ms
selector: 513ms

Nekromancer 26.12.2011 04:20

Чем больше вы вставляете в querySelector или matchesSelector, тем они медленнее работают.

FINoM 26.12.2011 04:20

Я еще раз повторяю, тестируется соответствие селектору, а не набору свойств узла.

Nekromancer 26.12.2011 04:22

FINoM,
А вам никто и не говорил, про всякие matchSelector и всё такое. В вашем бенчмарке фактически 2 против одного, это не правильно.
Я себе спокойной через children выбрал те же ноды что и вы. Так чем это не та же выборка? Можете называть и по селектору и как хотите.

FINoM 26.12.2011 04:26

Меня всегда радовали ответы, типа: зачем юзать X, если можно юзать Y, при том, что я достаточно четко поставил вопрос. Есть задача, вот и использую.

Nekromancer 26.12.2011 04:29

Цитата:

Сообщение от FINoM
Встроенные функции, как правило, быстрее циклов.

Цитата:

Сообщение от FINoM
чем цикл + проверка каждого элемента на соответствие селектору.

Когда вы докажите, что я не проверил каждого прямого потомка на соответствие селектору, я признаю что я не прав.

Nekromancer 26.12.2011 04:31

Цитата:

Сообщение от FINoM
Меня всегда радовали ответы, типа: зачем юзать X, если можно юзать Y, при том, что я достаточно четко поставил вопрос. Есть задача, вот и использую.

На ваш чётко поставленный вопрос, давно ответили - нет, нельзя так сделать, ибо функция выбирает по селекторам css.

А вот сравнение, что быстрее, это спор. Он к вашему первому посту имеет только косвенное отношение.

FINoM 26.12.2011 04:33

Ок.
t.nodeType == 3 && t.nodeName == 'DIV' && t.className == 'vasea' && t.getAttribute('aaaa') == 'tttt'
Где тут селектор?

Nekromancer 26.12.2011 04:38

div.vasea[aaaa=tttt]

Мне же для бенчмарка не писать регулярку, которая распарсит селектор.
http://jsfiddle.net/RDV7g/10/
Вот представьте, что я с начала распарсил селектор вон в те переменные.
childNodes: 311ms
selector: 499ms

Ваша очередь доказывать.


Часовой пояс GMT +3, время: 01:40.