Javascript jQuery:如何选择同一类的确切元素?

Javascript jQuery:如何选择同一类的确切元素?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我不确定我的问题是否表述得很好,希望细节能涵盖这些问题 所以,我正在构建一个人工的全高幻灯片式子菜单,我在那里有一个空容器: <section class="masking_sublevel"> </section> 所以,我要做的是选择上面提到的ul,并将其放在悬停事件的空部分,然后在鼠标上清空它,如下所示: $(document).ready(function(){ var dropdownLi = $('li.dropdown'); var

我不确定我的问题是否表述得很好,希望细节能涵盖这些问题

所以,我正在构建一个人工的全高幻灯片式子菜单,我在那里有一个空容器:

<section class="masking_sublevel">

</section> 
所以,我要做的是选择上面提到的ul,并将其放在悬停事件的空部分,然后在鼠标上清空它,如下所示:

$(document).ready(function(){

    var dropdownLi = $('li.dropdown');
    var maskingSubLvl = $('.masking_sublevel');
    var importedUl = $('.masking_sublevel ul');

    var hiddenUl = $('.hidden_ul ul');


    $(dropdownLi).on('mouseover',function(){

        $(hiddenUl).appendTo(maskingSubLvl);
        $(maskingSubLvl).css('display','block');

    });

    $(dropdownLi).on('mouseleave',function(){
        $(maskingSubLvl).css('display','none');
        $(importedUl).empty();

    $(maskingSubLvl).on('mouseenter',function(){
            $(this).css('display', 'block');

    });

  });

});
问题是,对于这段代码,我可能只选择了类为.hidden_ul'的第一个ul,因为当我随机悬停在其他项目上时,它会继续加载第一个列表的内容。如何选择与当前悬停的类相同的ul元素


谢谢

因此您希望从具有mouseover的元素遍历到父ul,它是父ul.hidden_l的子元素


因此,您希望从具有mouseover的元素遍历到父ul,它是父ul.hidden_l的子元素

由于您的隐藏内容是.下拉列表的直接子项,您需要使用其父上下文获取它,如下所示:

$(dropdownLi).on('mouseover',function(){
    var hiddenUl=$(this).find('.hidden_ul')[0];//find the child
    $(hiddenUl).appendTo(maskingSubLvl);
    $(maskingSubLvl).css('display','block');
});
更新

与其追加,不如尝试不断更改.maskingSubLvl的html,以便在追加另一个内容之前无需再次删除该内容。例如:

由于您的隐藏内容是.下拉列表的直接子项,您需要使用其父上下文获取它,如下所示:

$(dropdownLi).on('mouseover',function(){
    var hiddenUl=$(this).find('.hidden_ul')[0];//find the child
    $(hiddenUl).appendTo(maskingSubLvl);
    $(maskingSubLvl).css('display','block');
});
更新

与其追加,不如尝试不断更改.maskingSubLvl的html,以便在追加另一个内容之前无需再次删除该内容。例如:


你就不能给他们身份证然后用它来代替吗?像hidden1etc一样,然后得到如下元素:var hiddenUl=$'hidden1';你的HTML的结构是什么。。每个“li.dropdown”是否都有自己的隐藏和屏蔽子级??尝试添加一个JSFIDLE示例如果向我们展示完整的html,这可以很容易地完成。我找不到你的类。下拉列表?使用$this访问你悬停的元素,然后从那里开始。@GuruprasadRao,我已经更新了HTML部分,谢谢!你就不能给他们身份证然后用它来代替吗?像hidden1etc一样,然后得到如下元素:var hiddenUl=$'hidden1';你的HTML的结构是什么。。每个“li.dropdown”是否都有自己的隐藏和屏蔽子级??尝试添加一个JSFIDLE示例如果向我们展示完整的html,这可以很容易地完成。我找不到你的类。下拉列表?使用$this访问你悬停的元素,然后从那里开始。@GuruprasadRao,我已经更新了HTML部分,谢谢!
$(dropdownLi).on('mouseover',function(){
    var hiddenUl=$(this).find('.hidden_ul')[0];//find the child
    $(hiddenUl).appendTo(maskingSubLvl);
    $(maskingSubLvl).css('display','block');
});
$(document).ready(function(){
    var dropdownLi = $('li.dropdown');
    var maskingSubLvl = $('.masking_sublevel');
    var importedUl = $('.masking_sublevel ul');

    $(dropdownLi).on('mouseover',function(){
        $(maskingSubLvl).css('display','block');
        var hiddenUl = $(this).find('.hidden_ul ul').clone(); //clone the content
        $(maskingSubLvl).html(hiddenUl);
    });

    $(dropdownLi).on('mouseleave',function(){
        $(maskingSubLvl).css('display','none');
    });

    $(maskingSubLvl).on('mouseenter',function(){
            $(this).css('display', 'block');
    });
});