Javascript 我使用jquerynext和cosest选项只选择一个元素,但这会将类应用于每个元素

Javascript 我使用jquerynext和cosest选项只选择一个元素,但这会将类应用于每个元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的HTML菜单是这样的 <div style="margin-top: 200px; width: 140px; text-align: left; line-height: 20px;"> <div class="lmenu">Home</div> <div class="lmenu">About Us</div> <div class="lmenu parent">Our Services

我的HTML菜单是这样的

<div style="margin-top: 200px; width: 140px; text-align: left; line-height: 20px;">
    <div class="lmenu">Home</div>
    <div class="lmenu">About Us</div>
    <div class="lmenu parent">Our Services
        <div class="subparent">
            Event Management
                <div class="child">
                Categories
                </div>
                <div class="child">
                Providing Facilities
                </div>
        </div>
        <div class="subparent">
            Rental
            <div class="child">
                AVEquipments
            </div>
            <div class="child">
                Other Services
            </div>
        </div>
        <div class="subparent">
            Exhibition Stalls 
            <div class="child">
                Standard Stall
            </div>
            <div class="child">
                Designed Stalls
            </div>
        </div>
    </div>
    <div class="lmenu parent">About Us
        <div class="subparent">
            Our Company
            <div class="child">
                Categories
            </div>
            <div class="child">
                Our Team
            </div>
        </div>
    </div>
</div>
我找不到哪里错了


谢谢。

您的发现就是这样做的

  • 从当前元素中查找
    .lmenu
    (父元素)
  • 现在查找所有。在顶级父级中冷藏(将查找所有)
  • 显示/隐藏它们
  • 通过使用语法
    $(查询,范围)
    可以找到当前选择中的元素

    var $sub_itmes;
    $(".parent").on({
        mouseover: function() {
            $sub_itmes = $('.subperent',this);
            $sub_itmes.fadeIn('slow');
        },
        mouseleave: function() {
            $sub_itmes = $('.subperent',this);
            $sub_itmes.fadeOut('slow');
        }
    });
    
    $(".subperent").on({
        mouseover: function() {
            $sub_itmes = $('.chilld',this);
            $sub_itmes.fadeIn('slow');
        },
        mouseleave: function() {
            $sub_itmes = $('.chilld',this);
            $sub_itmes.fadeOut('slow');
        }
    });
    

    另一方面,看看这个插件,它会忽略鼠标的快速移动,但只有在用户想要的时候才会激活

    var $sub_itmes;
    $(".parent").on({
        mouseover: function() {
            $sub_itmes = $('.subperent',this);
            $sub_itmes.fadeIn('slow');
        },
        mouseleave: function() {
            $sub_itmes = $('.subperent',this);
            $sub_itmes.fadeOut('slow');
        }
    });
    
    $(".subperent").on({
        mouseover: function() {
            $sub_itmes = $('.chilld',this);
            $sub_itmes.fadeIn('slow');
        },
        mouseleave: function() {
            $sub_itmes = $('.chilld',this);
            $sub_itmes.fadeOut('slow');
        }
    });