Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт добавляющий class (https://javascript.ru/forum/dom-window/60002-skript-dobavlyayushhijj-class.html)

Lasery 06.12.2015 16:26

Скрипт добавляющий class
 
Прошу помощи!
Задача вероятнее всего простецкая, но ввиду видимо недостатка знаний решить ее не могу.

В общем суть такая, есть скрипт:

$(function () { 
    $('#block_sidebar a').each(function () {
        var location = window.location.href;
        var link = this.href; 
        if(location == link) {
            $(this).addClass('active');
        }
    });
});


Он добавляет класс active к "активной" ссылке, скрипт работает, все вроде хорошо, но появилась задача его доработать, а как не доходит. Необходимо что бы скрипт добавлял активный класс не активной ссылке, а пункту в списке (li) в котором находится активная ссылка.

Ниже привожу мою разметку:

<div class="block_sidebar" id="block_sidebar">
	<ul>
<li> <a href="#один">Один</a> </li>
<li> <a href="#два">Два</a> </li>
<li> <a href="#три" >Три</a> </li>
	</ul>
</div><!-- .block_sidebar -->

рони 06.12.2015 16:40

Lasery,
$(this).parent().addClass('active');

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Lasery 06.12.2015 19:52

Спасибо огромное, заработало, все утро с .parent() мучался, а оказалось все так просто.


Часовой пояс GMT +3, время: 17:30.