поиск классов внутри тега
помогите дописать скрипт
если внутри тега с классом .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, время: 02:49. |