|
Селектор первого потомка
Нужно через querySelectorAll получить потомков первого уровня.
node.querySelectorAll('> div'); // выдаёт синтаксическую ошибку можно только так: node.querySelectorAll('#node1 > div'); //при условии, что node.id==="node1"Как быть, если я не знаю селектора node? Может быть есть возможность его (селектор) получить (встроенными функциями, без переборов)? Вижу вариант вешать какой-то рандомный атрибут, типа: var id = node.dataset.randomId = Math.random(); node.querySelectorAll('[data-randomId="'+id+'"] > div');Но это мне кажется говнокодом. Есть идеи? |
node.childNodes |
а библиотеками не хотите пользоваться?
в jquery будет $(node).children('div') или $(node).find('>div') а после node.childNodes надо будет еще в цикле выбирать нужные элементы |
Цитата:
|
Pavel M.,
Вы странный, зачем ради этого подключать библиотеку которая для поиска одной ноды, выполнит 35 тысяч функций? |
я предложил единственный пока в этой теме кроссбраузерный вариант решения проблемы,
не утверждая что он единственный и самый лучший да, видимо, я странный :) |
Pavel M.,
childNode тоже кроссбраузерный. А если человек использует querySelector, то ему явно пофиг на старые браузеры, так что подойдёт и children. |
да, я думаю FINoM сам разберется, что лучше использовать
|
Да фигово. Хотелось сделать это сверхбыстро (селекторами) и без циклов.
|
FINoM,
Никто не говорил, что селекторами быстро. Во первых удобно не значит быстро, вы вторых мало писать, не значит быстро. Эт вы в jQuery понабрались. |
Часовой пояс GMT +3, время: 08:07. |
|