使用jquery为每个父级添加类

时间:2011-10-24 10:47:40

标签: jquery

我正在使用jquery构建菜单,并且我已将活动类设置为所选元素但我想为每个父元素提供活动类,可以这样做

<ul class="cdrvo" id="nav">
        <li class="nod1" id="1"><a class=" " href="items.aspx?itemID=1">Ljevi Meni</a>
            <ul style="display: none; visibility: hidden;" >
                <li class="nod3" id="3"><a class=" " href="items.aspx?itemID=3">3</a>
                    <ul style="display: none; visibility: hidden;" >
                        <li class="nod12 active" id="12"><a class=" " href="items.aspx?itemID=12">12</a></li>
                        <li class="nod13" id="13"><a class=" " href="items.aspx?itemID=13">13</a></li>
                    </ul>
                </li>
                <li class="nod6" id="6"><a class=" " href="items.aspx?itemID=6">6</a></li>                    
            </ul>
        </li>
    </ul>

3 个答案:

答案 0 :(得分:0)

element.parents().addClass('active');

这会将active课程添加到所有元素父母(包括body)。
您可以使用适合您需求的选择器过滤父母:

element.parents('ul').addClass('active');

答案 1 :(得分:0)

你可以使用parentsUntil()并停在身体:

$('#yourelement').hover(function(){
    $(this).parentsUntil('#nav').addClass('active');
},
function(){
    $(this).parentsUntil('#nav').removeClass('active');
});

答案 2 :(得分:0)

是的,您可以使用.parents选择器http://api.jquery.com/parents/

(文档)$。就绪(函数(){$( “li.active”)父母()addClass( “活性”);。。});

http://jsfiddle.net/n4tuw/