通过Jquery将类添加到选定的li

时间:2014-11-18 12:55:54

标签: javascript jquery html css

我已经为Dropdown菜单编写了一个Jquery。 它工作正常,但是当我点击" li"它打开很好,但是没有在选择的李类上添加css ..

Jquery的:

$(".leftnav ul li").click(function () {
         $(this).siblings().find('ul').slideUp(400);
            $(this).find('ul').slideDown(400);      
            $(this).find('ul').addClass('activeclass'); 
            $(this).find('.leftnav ul li').addClass('activeclass1'); 
    });

HTML:

<div class="leftnav left">
        <ul>
            <li><a href="javascript:;">Dashboard</a></li>
            <li><a href="javascript:;">Catagories</a>
                <ul class="dropdown">
                    <li><i class="fa fa-angle-double-right left color iconpad"></i> <a href="#">Add Category</a></li>
                    <li><i class="fa fa-angle-double-right left color iconpad"></i><a href="#">Manage Catagories</a></li>
                </ul>
            </li>

            <li><a href="javascript:;">Portfolio</a>
                <ul class="dropdown">
                    <li><i class="fa fa-angle-double-right left color iconpad"></i><a href="#">Add Portfolio</a></li>
                    <li><i class="fa fa-angle-double-right left color iconpad"></i><a href="#">Manage Portfolio</a></li>
                </ul>
            </li>
</ul>
</div>

任何人都可以让我知道我该怎么做?

提前致谢。

2 个答案:

答案 0 :(得分:3)

我认为你最后一行是错误的,因为你正在寻找$(this)的.leftNav类后代。如果是这样,这应该更适合你

$(".leftnav ul li").click(function () {
     $(this).siblings().find('ul').slideUp(400);
     $(this).find('ul').slideDown(400);      
     $(this).find('ul').addClass('activeclass');

     $(this).addClass('activeclass1'); 
});

答案 1 :(得分:2)

从您的示例看,您正在进行额外的查找。

$(".leftnav ul li").click(function () {
         $(this).siblings().find('ul').slideUp(400);
            $(this).find('ul').slideDown(400);      
            $(this).find('ul').addClass('activeclass'); 
            $(this).addClass('activeclass1'); // Removed "find('.leftnav ul li')"
    });