Условие для структуры html кода
Нужно в определенный элемент добавить класс, при условие, что на странице будет обнаружена такая ситуация
<ul class="menu"> <li class="active"> <a href=""></a> <ul><li></li></ul> </li> </ul> но не такая <ul class="menu"> <li class="active"> <a href=""></a> </li> </ul> Т.е. если активен (class="active") пункт с вложенным списком, то надо произвести действие, если не активен или активен, но без вложенного списка, то действие не производить. Как такое сделать? |
проверить его наличие
например, ...children[1].tagName == 'UL' или ...getElementsByTagName('ul').length == 0 |
Вот так написал, работает. Но кажется мне что это фигня какая-то :)
if(document.getElementById('active')) { if(document.getElementById('active').children[1].tagName == 'UL') { console.log('ok'); } else { console.log('no ok'); } console.log('ok ok'); } else { console.log('no ok no ok'); } |
<ul class="menu"> <li class="active"> <a href=""></a> <ul><li></li></ul> </li> </ul> <ul class="menu"> <li class="active"> <a href=""></a> </li> </ul> <script> window.onload = function () { var elems = document.getElementsByClassName('active');//сделать кроссбраузерной var len = elems.length; for (var i = 0; i < len; i++) { if(elems[i].children[1].tagName == 'UL') { elems[i].children[0].innerHTML = 'link' + i; } } } </script> |
Часовой пояс GMT +3, время: 15:00. |