Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2013, 15:31
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

Как обратиться к "старшим" потомкам?
Приветсвую, извеняюсь за делетанкский вопрос но никак не найду и несображу как можно обратиться только к старшим потомкам?

скажем есть такая структура:
<div>
	<div>
		что то
	</div>
</div>
<div>
	<div>
		что то
	</div>
	<div>
		<div>
			что то
		</div>
	</div>
</div>
<div>
	что то
</div>

я хочю назначить ид верхним потомкам, как назначить знаю, вок как к ним обратиться - нет
getElementsByTagName('div') выдает их общее количество

что бы навыходе получить такое:
<div id="1">
	<div>
		что то
	</div>
</div>
<div  id="2">
	<div>
		что то
	</div>
	<div>
		<div>
			что то
		</div>
	</div>
</div>
<div  id="3">
	что то
</div>
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2013, 15:38
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

пока додумался только что проверять кто родитель, если тот же что и контейнер то ок старший потомок, но может есть решение получше?
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2013, 15:43
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

если не мешают библиотеки то $("body>div")
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2013, 15:44
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

к сожалению голый javascript нужен
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2013, 15:51
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

а, ну тогда document.querySelectorAll("body>div")
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2013, 16:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Дзен-трансгуманист, а почему бы не использовать container.children чтобы не гулять по текстовым и комментовым нодам?
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2013, 17:35
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

немогли бы вы объяснить как эта конструкция работает? мне нужно немного изменить ее адаптирую под свои нужды...
Ответить с цитированием
  #8 (permalink)  
Старый 14.08.2013, 18:06
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

ладно не будите вашего кота, я своего кота попросил и он вроде неплохо справился, но спасибо за предложеный способ

разве тока как проснется и попросите глянуть в это и может посоветует что:
while (node)
	{
		if (node.nodeType == 1 && node.tagName.toLowerCase() == childTag) 
		{
			if (id == 0)
			{
				node.id = "SearchPanel";
			};
			if (id == 1)
			{
				node.id = "ServiceCatalog";
			};
			if (id == 3)
			{
				node.id = "SelectMenu";
			};
			if (id == 4)
			{
				node.id = "MostPopular";
			};
			++id ;
		}
		node = node.nextSibling;
	};

Последний раз редактировалось Kvark, 14.08.2013 в 18:09.
Ответить с цитированием
  #9 (permalink)  
Старый 14.08.2013, 18:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Дзен-трансгуманист, понимает, начиная с 6 версии. Правда с ошибкой - в IE туда попадают и комменты тоже.
https://developer.mozilla.org/en-US/...ement.children
Ответить с цитированием
  #10 (permalink)  
Старый 14.08.2013, 18:41
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

спасибо, про масив я что то не подумал даже...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
как обратиться к элементу созданному с помощью jQuery .after() ? mitiya Общие вопросы Javascript 1 25.09.2012 03:11
Как обратиться к переменной внутри объекта, в произвольной функцию через его метод platedz Элементы интерфейса 15 25.08.2012 00:03
Как использовать sprit'ы? Hekumok Общие вопросы Javascript 17 10.08.2012 11:24
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35