Получение родительского элемента
Есть верстка с многоуровневой вложенностью.
<div class="month" data-month="3"> <div class="week"> <div class="day"> 3 </div> </div> </div> <div class="month" data-month="4"> <div class="week"> <div class="day"> 13 </div> </div> </div> Как получить атрибут data-month? |
Нужно аналог parents в JQuery. perentNode возвращает прямого родителя :(
|
<div class="month" data-month="3"> <div class="week"> <div class="day"> 3 </div> </div> </div> <div class="month" data-month="4"> <div class="week"> <div class="day"> 13 </div> </div> </div> <script> var days = document.querySelectorAll('.day'); for(var i=0; i < days.length; i++) { alert( days[i].parentNode.parentNode.getAttribute('data-month')); } </script> |
<div class="month" data-month="3"> <div class="week"> <div class="day"> 3 </div> </div> </div> <div class="month" data-month="4"> <div class="week"> <div class="day"> 13 </div> </div> </div> <script> [].forEach.call(document.querySelectorAll('.day'), function(el){ while (el = el.parentNode) { if (el.dataset.month) { console.log(el.dataset.month); break; } } }); </script> более универсальное решение |
Часовой пояс GMT +3, время: 10:17. |