Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.12.2011, 07:52
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Селектор первого потомка
Нужно через 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');
Но это мне кажется говнокодом. Есть идеи?
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2011, 10:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

node.childNodes
Ответить с цитированием
  #3 (permalink)  
Старый 25.12.2011, 15:59
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

а библиотеками не хотите пользоваться?
в jquery будет $(node).children('div') или $(node).find('>div')
а после node.childNodes надо будет еще в цикле выбирать нужные элементы
Ответить с цитированием
  #4 (permalink)  
Старый 25.12.2011, 16:16
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Pavel M.
а после node.childNodes надо будет еще в цикле выбирать нужные элементы
node.children
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #5 (permalink)  
Старый 25.12.2011, 16:47
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Pavel M.,
Вы странный, зачем ради этого подключать библиотеку которая для поиска одной ноды, выполнит 35 тысяч функций?
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #6 (permalink)  
Старый 25.12.2011, 18:37
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

я предложил единственный пока в этой теме кроссбраузерный вариант решения проблемы,
не утверждая что он единственный и самый лучший
да, видимо, я странный
Ответить с цитированием
  #7 (permalink)  
Старый 25.12.2011, 18:53
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Pavel M.,
childNode тоже кроссбраузерный. А если человек использует querySelector, то ему явно пофиг на старые браузеры, так что подойдёт и children.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #8 (permalink)  
Старый 25.12.2011, 19:36
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

да, я думаю FINoM сам разберется, что лучше использовать
Ответить с цитированием
  #9 (permalink)  
Старый 25.12.2011, 20:06
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Да фигово. Хотелось сделать это сверхбыстро (селекторами) и без циклов.
Ответить с цитированием
  #10 (permalink)  
Старый 25.12.2011, 20:12
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

FINoM,
Никто не говорил, что селекторами быстро. Во первых удобно не значит быстро, вы вторых мало писать, не значит быстро. Эт вы в jQuery понабрались.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический селектор raindew Элементы интерфейса 3 20.11.2011 18:37
Предыдущий селектор KupueIIIKo jQuery 1 05.10.2011 01:27
ефектиный селектор на Jquery ejik jQuery 6 17.11.2010 13:21
После первого действия скрипт перестает работать cyberx jQuery 6 12.06.2010 22:04
Доступ ко второму IFRAME из первого thunder2 Events/DOM/Window 6 06.08.2009 15:24