изменить активную ли при нажатии на ссылку jquery - PullRequest
12 голосов
/ 27 августа 2009

Я хочу сделать меню и изменить класс при нажатии.

Когда я нажимаю на "li" без class="active", я хочу, чтобы jquery добавил класс к пустому <li> и удалил его из слов "li".

<li class="active"><a href="javascript:;" onclick="$.data.load(1);">data</a></li>
<li><a href="javascript:;" onclick="$.data.load(2);">data 2</a></li>

кто-нибудь может мне помочь? :)

Ответы [ 5 ]

24 голосов
/ 27 августа 2009

Я думаю, вы имеете в виду это:

$('li > a').click(function() {
    $('li').removeClass();
    $(this).parent().addClass('active');
});
13 голосов
/ 27 августа 2009
// When we click on the LI
$("li").click(function(){
  // If this isn't already active
  if (!$(this).hasClass("active")) {
    // Remove the class from anything that is active
    $("li.active").removeClass("active");
    // And make this active
    $(this).addClass("active");
  }
});
4 голосов
/ 27 августа 2009
$('li').click(function()
{
    $('li', $(this).parent()).removeClass('active');
    $(this).addClass('active');
}
3 голосов
/ 27 января 2017
$(window).load(function(){
    page=window.location.pathname.split("/").pop();
    menuChildren = $('a[href="' + page + '"]');  
    $(menuChildren).parent('li').addClass('active');
});

Приведенный выше код ищет URL-адрес и выскакивает последний элемент (который является именем файла). Затем он находит тег привязки с атрибутом href, который имеет то же значение URL, а затем помещает активный класс для его родительского тега li

.
1 голос
/ 27 августа 2009

Это должно приблизить вас.

$("li").click(function() {
  $("li").removeClass("active");
  $(this).addClass("active");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...