Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление/удаление класса активному пункту мменю 
:(
    Опции темы
dеluxe
Дата 25.8.2010, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.8.2009

Репутация: 1
Всего: 2



Есть такая структура меню

Код

<ul id="menu">
     <li><a href="#">Черепица</a>
     
           <ul class="submenu">
                 <li><a href="#">черепица битумная</a>
              
                       <ul class="submenu2">
                              <li><a href="#">черепица битумная</a></li>
                              <li><a href="#">черепица металлическая</a></li>
                        </ul>
                </li>
                <li><a href="#">черепица металлическая</a></li>
           </ul>
      </li>

     <li><a href="#">Утеплители</a></li>
</ul>                                   


Как можно на jquery или js добавить какой то класс при открытом(активном) пункте

то бишь сюда в ссылку или в li
Код

 <ul id="menu">
     <li><a href="#">Черепица</a>
     ...
  

и сюда

Код

 <ul class="submenu">
                 <li><a href="#">черепица битумная</a>
                 ...
  

вся реализация проверки на визибл и хайд соответствено по клику есть.. только нужно как-то добавить классы. Жалко нет кода под рукой так бы показал что там есть. Был бы очень благодарен.

У меня выходило только добавляет всем ссылкам класс в .menu, а нельзя как-то пройти только до первой через массив ссылок на странице типо выбрать так первую только, как это делать хз(


PM MAIL   Вверх
Amphiluke
Дата 25.8.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Добавление/удаление класса в JQuery — методы addClass/removeClass. В «чистом» Javascript нужно орудовать атрибутом className. Это, я думаю, вы и сами прекрасно знаете…




Цитата(dеluxe @  26.8.2010,  02:02 Найти цитируемый пост)
У меня выходило только добавляет всем ссылкам класс в .menu, а нельзя как-то пройти только до первой через массив ссылок на странице типо выбрать так первую только

Получив с помощью JQuery коллекцию гиперссылок, можно отобрать из нее лишь нужные, обращаясь по индексу:
Код

$(".menu a")[0].addClass("expanded");

либо так:
Код

$(".menu a:first").addClass("expanded");

либо так:
Код

$(".menu a:eq(0)").addClass("expanded");

и т.д.
PM   Вверх
Amphiluke
Дата 25.8.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Прошу прощенья: поторопился с прямой индексацией в квадратных скобках. При этом, конечно, возвращается не объект JQuery с набором соответствующих методов, а обычный DOM-объект, у которого нет метода addClass и т.д. Поэтому если делать через прямую индексацию в квадратных скобках, то будет это возврат к обычной работе с атрибутом className.
Код

$(".menu a")[0].className = "expanded";

PM   Вверх
dеluxe
Дата 26.8.2010, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.8.2009

Репутация: 1
Всего: 2



Amphiluke, Спасибо очень помогло smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0915 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.