Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery当前父选择器和子选择器_Javascript_Jquery_Html - Fatal编程技术网

Javascript jquery当前父选择器和子选择器

Javascript jquery当前父选择器和子选择器,javascript,jquery,html,Javascript,Jquery,Html,我在选择正确的电流选择器时遇到了一些小问题 $('#menu > li').on('mouseover', function (e) { $(this).find("ul:first").show(); $(this).find('> a').addClass('active'); }).on('mouseout', function (e) { $(this).find("ul:first").hide(); $(this).find('> a

我在选择正确的电流选择器时遇到了一些小问题

$('#menu > li').on('mouseover', function (e) {
    $(this).find("ul:first").show();
    $(this).find('> a').addClass('active');
}).on('mouseout', function (e) {
    $(this).find("ul:first").hide();
    $(this).find('> a').removeClass('active');
});
在上面的代码中,我可以找到
及其
  • 甚至它的第一个

    现在我想找到第一个
    的所有子项
    。比如首先查找id为的
    ul
    ,然后再查找id中的所有其他
    ul
    ,直到带有图像的
    ul

    我刚刚添加了该id以供参考,我不打算使用该id

    <ul id="menu" class="clearfix"> <li><a href="#">Categories</a>
        <li class="purple">    
            <a href="#">Design</a>
            <ul id="firstul">
                <li><a href="#">Photoshop</a>
                    <ul>
                        <li>    
                            <a href="#"> Photoshop CS</a>
                            <ul>
                                <li><img src="m3.jpg" width="200"></li>
                            </ul>  
                        </li>
                    </ul>
               </li>
            </ul>  
        </li>
    </ul>
    
    用于上述工作的JSFIDLE

    此外,我还需要一个jQuery,它不使用css选择器,也不使用
    ul>li>ul
    这对我不起作用,否则我可能在尝试时使用错误。

    $(“#nav.parent item”)。单击(function(){

    演示:

    $(“#导航父项”)。单击(函数(){


    演示:

    好的,我做了一些事情,但有一个问题我不明白:

    看看这里

    我编辑你的小提琴,所以,现在:当鼠标进入“类别”(或其他元素,有一个类似ul的子元素)默认情况下,所有的第一个ul显示

    …但是如果你选择“类别”>“设计”>“Illustrator”子菜单会淡出。但是如果你在其他时间也这样做,一切都会很好。我不知道为什么。你自己试试吧

    我的零钱: 使用
    mouseenter
    mouseleave
    代替
    mouseover
    mouseout
    ,以防止在导航菜单时调用双重处理程序

    添加一个新类
    \u选定的
    ,该类显示了li中的所有第一个,当您导航到类别第一个li时,该类将被放置,当您更改为非第一个的其他子类别时,该类将被删除

    这:

    是一种检查,用于确定鼠标光标下方的元素是否可见,因为它们位于第一个元素流中


    对不起,我的英语太差了,很难解释。

    好的,我做了一些事情,但有一个问题我不明白:

    看看这里

    我编辑你的小提琴,所以,现在:当鼠标进入“类别”(或其他元素,有一个类似ul的子元素)默认情况下,所有的第一个ul显示

    …但是如果你选择“类别”>“设计”>“Illustrator”子菜单会淡出。但是如果你在其他时间也这样做,一切都会很好。我不知道为什么。你自己试试吧

    我的零钱: 使用
    mouseenter
    mouseleave
    代替
    mouseover
    mouseout
    ,以防止在导航菜单时调用双重处理程序

    添加一个新类
    \u选定的
    ,该类显示了li中的所有第一个,当您导航到类别第一个li时,该类将被放置,当您更改为非第一个的其他子类别时,该类将被删除

    这:

    是一种检查,用于确定鼠标光标下方的元素是否可见,因为它们位于第一个元素流中


    很抱歉,我的英语太差了,很难解释。

    使用Frogmouth的答案,我做了一些更改。我添加了以下内容

    $(this).find("ul > li:first > ul:first").show();
     $(this).find("ul > li:first > ul:first > li:first > ul:first").show();
     $(this).find("ul > li:first > ul:first > li:first > ul:first > li:first >ul:first").show();
    
    children();
    无法工作,因为它将转到最里面的子级,并试图显示未显示父级的位置


    我做了一个大菜单类型的结构,它会根据子菜单项的不同而变化

    $(this).find("ul > li:first > ul:first").show();
     $(this).find("ul > li:first > ul:first > li:first > ul:first").show();
     $(this).find("ul > li:first > ul:first > li:first > ul:first > li:first >ul:first").show();
    
    children();
    无法工作,因为它将转到最里面的子级,并试图显示未显示父级的位置


    我制作了一个大菜单类型的结构,它会根据子菜单项的不同而变化。小提琴我很难理解你想要什么。你能在选择器中使用
    #菜单
    ?或者
    .clearfix
    ?这个:
    $(“ul”)。不是(“ul”)
    查找第一个
    而不使用
    \id
    。注意……此选择器查找所有不是
      子对象的
        。我不想使用css选择器。我需要jQuery选择器。我使用了#菜单,使用它我想在其中找到第一个ul并添加一个类,同时我想找到所有内部ul和也给它们添加一个类。
        $(“#菜单ul”).addClass(“someclass”)
        这会给
        #菜单中的每个ul添加一个类。我很难理解您想要什么。您能在选择器中使用
        #菜单
        .clearfix
        ?这是:
        $(“ul”)。不是(“ul”)
        查找第一个
        而不使用
        \id
        。注意……此选择器查找所有不是
          子对象的
            。我不想使用css选择器。我需要jQuery选择器。我使用了#菜单,使用它我想在其中找到第一个ul并添加一个类,同时我想找到所有内部ul和添加一个类。
            $(“#menu ul”).addClass(“someclass”)
            这将在
            #menu
            中的每个ul中添加一个类,不使用子对象(ul)给我的是最顶层的,那就是
              的所有子对象
                。我不是第一个
                  的所有内部
                    ,如果我在这个函数中使用它,$(“#menu>li”)。关于('mouseover',函数(e){);它给出与使用find('ul')之前相同的结果不使用子项(ul)给我的是最上面的
                      的所有子项
                        。我不想第一个
                          ,而是所有的内部
                            ,如果我在这个函数$('#menu>li')。在('mouseover',函数(e){})上;它给出与使用find('ul ul之前相同的结果谢谢你的回答,它给了我一个追求的方向,并得到了结果。什么
                            $(this).find("ul > li:first > ul:first").show();
                             $(this).find("ul > li:first > ul:first > li:first > ul:first").show();
                             $(this).find("ul > li:first > ul:first > li:first > ul:first > li:first >ul:first").show();