поиск классов внутри тега
помогите дописать скрипт
если внутри тега с классом .main есть тег с классом .main2, то для всех тегов с именами классов .sub расположенных после найденного .main2 и до ближайшего класса .end (их там несколько) задать стиль display:inline main2list = $('.main').find('.main2'); if (???){ main2list.find('.sub, .end').each( function() { if ($(this).hasclass('.sub')) $(this).css('display', 'inline') if ($(this).hasclass('.end')) return; } ); } |
yozuul, ты хоть ХТМЛ разметку свою покажи... :D
|
Цитата:
main2list = $('.main .main2'); |
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <div class="main"> <div class="main2">1</div> <div class="sub">2</div> <div class="sub">3</div> <div class="end">4</div> <div class="sub">5</div> <div class="sub">6</div> <div class="end">7</div> </div> <script> $('.main .main2 ~ .sub').filter(':not(.end ~ .sub)').css('color', 'red'); </script> |
Цитата:
<ul id="main_menu"> <li class="shme_a"></li> <li class="shme_aa"></li> <li class="shme_aa"></li> <li class="shme_s"></li> <li class="shme_a"></li> </ul> родительским элементам задается класс .shme_a, всем дочерним, в зависимости от вложенности .shme_aa, shme_aaa и тд. активным родительским элементам задается класс .shme_s, всем дочерним, в зависимости от вложенности .shme_ss, shme_sss и тд. Нужно скрывать и раскрывать меню в зависимости от выбранных элементов. по умолчанию все дочерние теги скрыты devote, красиво) все работает так как и спрашивал, но к моему примеру все равно не подходит. не пойму как это реализовать. |
Цитата:
Цитата:
|
Цитата:
Так ты сделай нормальный пример... Нормально задай вопрос по твоему же примеру... Оно гляди и прояснится! ;) |
Цитата:
<ul id="main_menu"> <li class="shme_a"> <ul> <li class="shme_aa"></li> <li class="shme_aa"></li> </ul> </li> <li class="shme_s"></li> <li class="shme_a"></li> </ul> А у тебя один уровень. |
Цитата:
многоуровневое меню. <ul id="main_menu"> <li class="shme_a"></li> <li class="shme_aa"></li> <li class="shme_aa"></li> <li class="shme_s"></li> <li class="shme_a"></li> </ul> родительским элементам задается класс .shme_a, всем дочерним, в зависимости от вложенности .shme_aa, shme_aaa и тд. активным родительским элементам задается класс .shme_s, всем дочерним, в зависимости от вложенности .shme_ss, shme_sss и тд. Нужно скрывать и раскрывать меню в зависимости от выбранных элементов. 1. Если внутри #main_menu в .li не встречается буква 's', то css для .li с именами классов с кол-вом букв 'а' > 1 - стиль display:none //если ни один из родительских элементов не выбран - скрываем все дочерние 2. Если внутри #main_menu в .li встречается одна буква 's', то css для .li с именами классов с кол-вом букв 'а' > 2, и .li c именами классов с кол-вом букв 'a' > 1, раположенных перед найденным .li с буквой 's' и после ближайшего .li с кол-вом букв 'a'=1 - стиль display:none //если выбран любой родительский, то раскрываем его второй уровень, и скрываем все дочерние др. родительских и скрываем дочерние 3 и более уровней текущего 3. Если внутри #main_menu в .li встречается две буквы 's', то css для .li с именами классов с кол-вом букв 'а' > 1, расположенных перед найденным 's' и после ближайшего 'a'< 3 - стиль display:none //если выбран третий уровень меню, скрываем все меню 2 и 3 уровня др. родительских. |
Цитата:
|
Часовой пояс GMT +3, время: 06:50. |