Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2013, 13:15
Аспирант
Отправить личное сообщение для yozuul Посмотреть профиль Найти все сообщения от yozuul
 
Регистрация: 14.06.2013
Сообщений: 64

поиск классов внутри тега
помогите дописать скрипт

если внутри тега с классом .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;

      }
    );
}
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2013, 13:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

yozuul, ты хоть ХТМЛ разметку свою покажи...
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2013, 13:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от yozuul
main2list = $('.main').find('.main2');
main2list = $('.main .main2');
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2013, 13:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<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>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2013, 14:18
Аспирант
Отправить личное сообщение для yozuul Посмотреть профиль Найти все сообщения от yozuul
 
Регистрация: 14.06.2013
Сообщений: 64

Сообщение от ksa Посмотреть сообщение
yozuul, ты хоть ХТМЛ разметку свою покажи...
многоуровневое меню.

<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,
красиво)
все работает так как и спрашивал, но к моему примеру все равно не подходит.

не пойму как это реализовать.
Ответить с цитированием
  #6 (permalink)  
Старый 14.06.2013, 14:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от yozuul
многоуровневое меню
Но там нет такого
Сообщение от yozuul
внутри тега с классом .main есть тег с классом .main2, то для всех тегов с именами классов .sub расположенных после найденного .main2 и до ближайшего класса .end
Ответить с цитированием
  #7 (permalink)  
Старый 14.06.2013, 14:28
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от yozuul
но к моему примеру все равно не подходит

Так ты сделай нормальный пример... Нормально задай вопрос по твоему же примеру...
Оно гляди и прояснится!
Ответить с цитированием
  #8 (permalink)  
Старый 14.06.2013, 14:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от yozuul
многоуровневое меню.
Вот многоуровневое меню:
<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>


А у тебя один уровень.
Ответить с цитированием
  #9 (permalink)  
Старый 14.06.2013, 14:31
Аспирант
Отправить личное сообщение для yozuul Посмотреть профиль Найти все сообщения от yozuul
 
Регистрация: 14.06.2013
Сообщений: 64

Сообщение от ksa Посмотреть сообщение

Так ты сделай нормальный пример...
тогда вот так:
многоуровневое меню.

<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 уровня др. родительских.
Ответить с цитированием
  #10 (permalink)  
Старый 14.06.2013, 14:32
Аспирант
Отправить личное сообщение для yozuul Посмотреть профиль Найти все сообщения от yozuul
 
Регистрация: 14.06.2013
Сообщений: 64

Сообщение от danik.js Посмотреть сообщение
А у тебя один уровень.
кусок показан
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как гугл получает объект внутри тега <script>? zilker Events/DOM/Window 4 19.03.2013 17:19
Поиск тега по значению его атрибута. frant32 Events/DOM/Window 12 03.06.2012 21:30
Почему не работает тег <script> внутри тега <div>? serviom Общие вопросы Javascript 10 26.11.2011 01:24
поиск значения среди опр. тега cristaloleg Элементы интерфейса 2 26.04.2010 17:50
Как узнать что внутри тега Destrifer Events/DOM/Window 4 09.02.2009 09:15