单击链接jquery时更改活动li

时间:2009-08-27 19:05:24

标签: javascript jquery html

我想制作一个菜单,点击时更改课程。

当我点击没有class="active"的“li”时,我希望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 个答案:

答案 0 :(得分:24)

我认为你的意思是:

$('li > a').click(function() {
    $('li').removeClass();
    $(this).parent().addClass('active');
});

答案 1 :(得分:12)

// 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");
  }
});

答案 2 :(得分:4)

$('li').click(function()
{
    $('li', $(this).parent()).removeClass('active');
    $(this).addClass('active');
}

答案 3 :(得分:2)

$(window).load(function(){
    page=window.location.pathname.split("/").pop();
    menuChildren = $('a[href="' + page + '"]');  
    $(menuChildren).parent('li').addClass('active');
});

上面的代码将查找url并弹出最后一个元素(即文件名)。然后它找到具有href属性的锚标记,该属性具有相同的url值,然后为其父li标记放置一个活动类

答案 4 :(得分:1)

这应该让你接近。

$("li").click(function() {
  $("li").removeClass("active");
  $(this).addClass("active");
});