Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2017, 19:14
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Переприсвоение CSS-стиля пунктов меню на лету
Добрый день/вечер уважаемые господа, знатоки, форумчане!
Имеется следующая проблема:
Имеем сайт(WP), на котором навигационное меню строится через javascript:Void(). Проблема в том, что при данном формировании, получается код, вида:
<ul class=nav>
<li class=nav-item>Пункт 1</li>
<li class=nav-item>Пункт 2</li>
<li class=nav-item>Пункт 3</li>
</ul>


однако, я имею острую необходимость, некоторые пункты подменю стилизовать иначе(цвет, размер), c CSS проблем не возникло, однако, как бы так хитро поменять класс.(понятно, что используя .removeClass и .addCLass), но, к чему привязаться? какое условие? прошу помощи, сам уже понимаю, что, где и как.

Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2017, 19:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Syfer43
какое условие?
это должны определить вы сами scroll? ready? click?
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2017, 19:40
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Прошу прощения. Не верно выразил мысль(похоже устал очень, извиняюсь), делать это нужно, при documentReady. Но, как указать, какие именно пункты меню должны заиметь нужный класс.
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2017, 19:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Syfer43
Но, как указать, какие именно пункты меню должны заиметь нужный класс.
Сообщение от рони
это должны определить вы сами
что вы хотите сделать, по прежнему непонятно
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2017, 19:55
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

У определённых меню поменять класс. Однако, уникального у них, только урл, и то, что между тегами <li>
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2017, 19:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Syfer43,
я пас ... подожду телепата.
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2017, 21:11
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Сообщение от рони Посмотреть сообщение
Syfer43,
я пас ... подожду телепата.

Ок, попробую еще раз:
есть меню, в них есть поменю:
<ul>
  <li>1</li>
     <ul>
       <div class="title">tit1</div>
       <li class=nav-item><a href=# />1.1</li>
       <li class=nav-item><a href=# />1.2</li>
       <li class=nav-item><a href=# />1.n</li>
     </ul>
  <li>2</li>
     <ul>
       <div class="title">tit2</div>
       <li class=nav-item><a href=# />2.1</li>
       <li class=nav-item><a href=# />2.2</li>
       <li class=nav-item><a href=# />2.n</li>
     </ul>
  <li>3</li>
     <ul>
       <div class="title">tit3</div>
       <li class=nav-item><a href=# />3.1</li>
       <li class=nav-item><a href=# />3.2</li>
       <li class=nav-item><a href=# />3.n</li>
     </ul>
  <li>4</li>
     <ul>
       <div class="title">tit4</div>
       <li class=nav-item><a href=# />4.1</li>
       <li class=nav-item><a href=# />4.2</li>
       <li class=nav-item><a href=# />4.n</li>
     </ul>
  <li>nn</li>
     <ul>
       <div class="title">titN</div>
       <li class=nav-item><a href=# />nn.1</li>
       <li class=nav-item><a href=# />nn.2</li>
       <li class=nav-item><a href=# />nn.n</li>
     </ul>
</ul>


как у пунктов 4.1, 4.2, 4.n заменить class nav-iten, на классы nav1,nav2,nav3 ?
Ответить с цитированием
  #8 (permalink)  
Старый 20.01.2017, 21:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Syfer43,
можно так ...
$(function() {
    $('.nav-item:contains("4.")').each(function(indx, el) {
        $(el).removeClass('nav-item').addClass('nav' + ++indx)
    });
});
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2017, 21:35
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

Ох, попробую)) спасииииибо!
Ответить с цитированием
  #10 (permalink)  
Старый 21.01.2017, 09:48
Интересующийся
Отправить личное сообщение для Syfer43 Посмотреть профиль Найти все сообщения от Syfer43
 
Регистрация: 20.01.2017
Сообщений: 17

с просонья не доуказал некоторых тонкостей
<ul class="nav">
  <li class=nav-item>1</li>
     <ul class=nav-sub>
       <div class="title">tit1</div>
       <li class=nav-item><a href=# />1.1</li>
       <li class=nav-item><a href=# />1.2</li>
       <li class=nav-item><a href=# />1.n</li>
     </ul>
  <li class=nav-item>2</li>
     <ul class=nav-sub>
       <div class="title">tit2</div>
       <li class=nav-item><a href=# />2.1</li>
       <li class=nav-item><a href=# />2.2</li>
       <li class=nav-item><a href=# />2.n</li>
     </ul>
  <li class=nav-item>3</li>
     <ul class=nav-sub>
       <div class="title">tit3</div>
       <li class=nav-item><a href=# />3.1</li>
       <li class=nav-item><a href=# />3.2</li>
       <li class=nav-item><a href=# />3.n</li>
     </ul>
  <li class=nav-item>4</li>
     <ul class=nav-sub>
       <div class="title">tit4</div>
       <li class=nav-item><a href=# />4.1</li>
       <li class=nav-item><a href=# />4.2</li>
       <li class=nav-item><a href=# />4.n</li>
     </ul>
  <li class=nav-item>nn</li>
     <ul class=nav-sub>
       <div class="title">titN</div>
       <li class=nav-item><a href=# />nn.1</li>
       <li class=nav-item><a href=# />nn.2</li>
       <li class=nav-item><a href=# />nn.n</li>
     </ul>
</ul>

поэтому, используя предложенный вами вариант, построенный на неверных данных, сообщенных мной, изменяется более вышестоящий li

т.е.
<li class=nav-item>4</li>
     <ul class=nav-sub>
       <div class="title">tit4</div>
       <li class=nav-item><a href=4.1 />4.1</li>
       <li class=nav-item><a href=4.2 />4.2</li>
       <li class=nav-item><a href=4.n />4.n</li>
     </ul>


меняется на
<li class=nav1>4</li>
     <ul class=nav-sub>
       <div class="title">tit4</div>
       <li class=nav-item><a href=4.1 />4.1</li>
       <li class=nav-item><a href=4.2 />4.2</li>
       <li class=nav-item><a href=4.n />4.n</li>
     </ul>


подскажите, как докрутить?

Последний раз редактировалось Syfer43, 21.01.2017 в 09:51.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Задание пунктам меню значение стиля по умолчанию IONEX jQuery 1 15.01.2012 17:42
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58