Javascript 为父级的父级添加类

Javascript 为父级的父级添加类,javascript,jquery,html,css,drop-down-menu,Javascript,Jquery,Html,Css,Drop Down Menu,当单击父对象的父对象的子对象时,如何在单击时的下拉菜单中添加类。 这是我的html: <ul id="FirstLevel"> <li><a href="#">FirstLevel</a></li> <li><a href="#">FirstLevel</a> <ul class="secondLevel"> <li>&l

当单击父对象的父对象的子对象时,如何在单击时的下拉菜单中添加类。 这是我的html:

<ul id="FirstLevel">
    <li><a href="#">FirstLevel</a></li>
    <li><a href="#">FirstLevel</a>
        <ul class="secondLevel">
            <li><a href="#">SecondLevel</a></li>
                   <ul class="LastLevel">
                         <li><a href="#">LastLevel</a></li>
                         <li><a href="#">LastLevel</a></li>
                   </ul>
            <li><a href="#">SecondLevel</a></li>
            <li><a href="#">SecondLevel</a></li>

        </ul>
    </li>
    <li><a href="#">FirstLevel</a></li>
    <li><a href="#">FirstLevel</a></li>
    <li><a href="#">FirstLevel</a></li>
</ul

谢谢。

这可以满足您的所有需求:

$("ul.secondLevel a").click(function () {
    $("#FirstLevel>li").removeClass("blue");
    $(this).parents("ul.secondLevel").parent().addClass("blue");
});

选中此处:

这可以完成您想要的所有操作:

$("ul.secondLevel a").click(function () {
    $("#FirstLevel>li").removeClass("blue");
    $(this).parents("ul.secondLevel").parent().addClass("blue");
});

勾选此处:

由于您的第一级列表已获得Id,您可以使用选择器查找元素,如下所示:

$(".secondLevel a").click(function () {
    e.preventDefault();
    $("#FirstLevel li").addClass("newClass");
});

由于您的第一级列表已获得Id,您可以使用选择器查找元素,如下所示:

$(".secondLevel a").click(function () {
    e.preventDefault();
    $("#FirstLevel li").addClass("newClass");
});

给你的第一级
  • 一个类,它会使你更容易找到正确的元素:

    <li class="first-level"><a href="#">FirstLevel</a></li>
    

    给你的第一级
  • 一个类,它会使你更容易找到正确的元素:

    <li class="first-level"><a href="#">FirstLevel</a></li>
    
    试试这个

    jQuery(this).parent('ul').addClass('yourClass');
    
    或:

    试试这个

    jQuery(this).parent('ul').addClass('yourClass');
    
    或:


    下面是另一个答案

    var test= $('li li,li li li')
    console.log(test)
                test.click(function(){
       $(this).parents('ul').closest('li').addClass('kaka');
    });
    

    下面是另一个答案

    var test= $('li li,li li li')
    console.log(test)
                test.click(function(){
       $(this).parents('ul').closest('li').addClass('kaka');
    });
    

    以下是解决方案:

    $('.secondLevel li a').click(function (e) {
        $('#FirstLevel > li').removeClass('selected');
        $(this).parents('.secondLevel').parent().addClass('selected');
    })
    
    以下是解决方案:

    $('.secondLevel li a').click(function (e) {
        $('#FirstLevel > li').removeClass('selected');
        $(this).parents('.secondLevel').parent().addClass('selected');
    })
    


    请向我们展示您的javascript代码,请在您的问题中更新它。不是在评论中那么到底哪个li应该拥有这个类?@Parthik Gosar first liplease向我们展示你的javascript代码在你的问题中更新它。评论中没有,那么到底哪一个李应该拥有这个职业呢?@Parthik Gosar first lithis为所有第二个ul添加了一个职业李只需要为一级liso添加一个职业,这似乎有什么问题?它选择第一级
    li
    ,或者不是?这将向所有第二级ul添加一个类li只需要为第一级liso添加一个类,这似乎是一个问题?它选择first
    li
    ,或者它不有趣,但这给了我一个菜单中所有ul,li的类:|我只需要为第一级li添加该类。它只会将该类添加到第一级
  • ,您看到样式被“应用”到子级的原因是,它们都包含在第一级
  • 中。您可以将类添加到锚点,这很有趣,但这给了我一个适用于所有ul的类,li's from menu:|我只需要为第一级li's添加该类。它只会将该类添加到第一级
  • ,您看到样式被“应用”到子级的原因是,它们都包含在第一级
  • 中。您可以将该类添加到锚定中,谢谢你复制我的repsonse@BalintBako很抱歉,我以前没有看到你的回复,只是巧合,我们都给出了相同的回复。但如果您仍然觉得我复制了,我可以删除我的回复。:)事实上,我并不介意:)如果它不是一个复制粘贴,我就想复制我的repsonse@BalintBako很抱歉,我以前没有看到你的回复,只是巧合,我们都给出了相同的回复。但如果您仍然觉得我复制了,我可以删除我的回复。:)实际上我并不介意:)如果不是复制粘贴,那就是