Как обратиться к "старшим" потомкам?
Приветсвую, извеняюсь за делетанкский вопрос но никак не найду и несображу как можно обратиться только к старшим потомкам?
скажем есть такая структура: <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> |
пока додумался только что проверять кто родитель, если тот же что и контейнер то ок старший потомок, но может есть решение получше?
|
если не мешают библиотеки то $("body>div")
|
к сожалению голый javascript нужен :(
|
а, ну тогда document.querySelectorAll("body>div") :)
|
Дзен-трансгуманист, а почему бы не использовать container.children чтобы не гулять по текстовым и комментовым нодам?
|
немогли бы вы объяснить как эта конструкция работает? мне нужно немного изменить ее адаптирую под свои нужды...
|
ладно не будите вашего кота, я своего кота попросил и он вроде неплохо справился, но спасибо за предложеный способ :)
разве тока как проснется и попросите глянуть в это и может посоветует что: 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; }; |
Дзен-трансгуманист, понимает, начиная с 6 версии. Правда с ошибкой - в IE туда попадают и комменты тоже.
https://developer.mozilla.org/en-US/...ement.children |
спасибо, про масив я что то не подумал даже...
|
Часовой пояс GMT +3, время: 22:36. |