简体   繁体   English

使用jQuery,显示块不显示任何问题

[英]display block display none issues using jquery

when i hover on div#new-menu-lower ul.menuul li.menuli i want to add display block to the first ul and first li in the code below. 当我将鼠标悬停在div#new-menu-lower ul.menuul li.menuli我想在以下代码中将显示块添加到第一个ul和第一个li中。 The problem is its adding display block/none to all the ul and li. 问题是它向所有ul和li添加了显示块/无显示块。

 $(document).ready(function() {
    //on hover of sub menu li then highlight itself
    $('div#new-menu-lower ul.menuul li.menuli').hover(

    function() {
        $('div#new-menu-lower ul li ul:first').css("display","block");
        $('div#new-menu-lower ul li ul li:first').css("display","block");
        $('div#new-menu-lower ul li ul li ul:first').css("display","block");

    }, function() {
        $('div#new-menu-lower ul li ul:first').css("display","none");
        $('div#new-menu-lower ul li ul li:first').css("display","none");
        $('div#new-menu-lower ul li ul li ul:first').css("display","none");
    })
});

If i hover on the 2nd UL LI then it will only show the FIRST ul li ul li and thats wrong. 如果我将鼠标悬停在第二个UL LI上,那么它将仅显示第一个UL LI UL LI,那是错误的。

I have managed to solve part of it by doing: (it now adds display:block to the submenu which is - ul li ul but i it wont add it to the other elements) 我已经设法通过执行以下操作来解决部分问题:(现在将display:block添加到子菜单-ul li ul,但我不会将其添加到其他元素中)

$(document).ready(function() {
    //on hover of sub menu li then highlight itself
    $('div#new-menu-lower ul.menuul li.menuli').hover(

    function() {
        $(this).children('div#new-menu-lower ul li ul').css("display","block");
        $(this).children('div#new-menu-lower ul li ul li:first').css("display","block");
        $(this).children('div#new-menu-lower ul li ul li ul').css("display","block");

    }, function() {
        $(this).children('div#new-menu-lower ul li ul').css("display","none");
        $(this).children('div#new-menu-lower ul li ul li:first').css("display","none");
        $(this).children('div#new-menu-lower ul li ul li ul').css("display","none");
    })
});

just use :first instead of :first-child 只需使用:first而不是:first-child

or use the > selector 或使用>选择器

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM