如何找到内在的班级并改变上层班级?

时间:2014-02-26 08:04:09

标签: javascript jquery html jquery-selectors

让我用简单的代码来表明我的问题。

<ul class="page-sidebar-menu">
    <li></li>
    <li>
        <ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </li>
    <li>
        <ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </li>
    <li></li>
    <li></li>
    <li> <!-- I want that jquery find the class active in it and add it to here -->
        <ul>
            <li class="active"></li>
            <li></li>
        </ul>
    </li>
    <li></li>
</ul>
之后,我希望它看起来像那样;

<ul class="page-sidebar-menu">
    <li></li>
    .
    .
    .
    <li></li>
    <li class="active"> <!-- That, I want -->
        <ul>
            <li class="active"></li>
            <li></li>
        </ul>
    </li>
</ul>

只有一个人才有它,我必须把它添加到上面......

如何找到名为class的{​​{1}}并将其添加到父母actvie

----好的谢谢各位,这是我的解决方案----     jQuery(document).ready(function(){         $('li.active')。nearest('ul.page-sidebar-menu&gt; li')。addClass('active');         $('li.active')。nearest('ul.page-sidebar-menu&gt; li')。find('a')。append('');     });

它适用于li,否则它会找到自己。 (使用closest('ul.page-sidebar-menu > li')检查并删除了自己的类。)

2 个答案:

答案 0 :(得分:2)

您可以使用closest()

$('li.active').closest('li').addClass('active');

答案 1 :(得分:0)

使用.closest()

$(".active").closest("li").addClass("active");