Javascript :not()以各种不同的形式出现;行不通

Javascript :not()以各种不同的形式出现;行不通,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我正在制作一个简单的jQuery导航系统,但我远不是这方面的专家,下面的代码可能会说明这一点 HTML: 显示/隐藏效果很好,唯一的问题是当管道悬停在上面时,它会隐藏所有内容。菜单需要在s中组成,而不能只是s,这是有原因的,但它并不是真正相关和长的 我在这里试图排除.hover()的内容,当它是一个带有.pipe的li类时,但是没有乐趣。我做错了什么?谢谢你的帮助。我确信有一种方法可以排除没有附加ID的s,这样可以节省将.pipe类分配给所有那些的时间。唉,我还没有jQuery能力来解决这个问题

我正在制作一个简单的jQuery导航系统,但我远不是这方面的专家,下面的代码可能会说明这一点

HTML:

显示/隐藏效果很好,唯一的问题是当管道悬停在上面时,它会隐藏所有内容。菜单需要在
  • s中组成,而不能只是
    s,这是有原因的,但它并不是真正相关和长的

    我在这里试图排除.hover()的内容,当它是一个带有.pipe的li类时,但是没有乐趣。我做错了什么?谢谢你的帮助。我确信有一种方法可以排除没有附加ID的
  • s,这样可以节省将.pipe类分配给所有那些
  • 的时间。唉,我还没有jQuery能力来解决这个问题

    谢谢。

    试试这个:

    $(function () {
        $("#main-nav li").not('.pipe').mouseenter(function () {
            $('#nav-strip2 ul.sub-nav').hide();
            $("#nav-" + this.id).show();
        });
    });
    
    使用时,不要在括号内使用引号:

    $("#main-nav li:not(.pipe)")
    

    为什么要将ID属性指定给名为
    $this
    的变量?我希望
    var$this=$(this),id=this.id-是的,没错,您不需要jQuery来获取元素的ID。非常好,一节课就可以上两节课,谢谢!我很快就开始意识到jQuery是多么神奇@马特,是的,我在发布后意识到:-X这也是真的,我只是复制/粘贴了OP的代码,并对其进行了一些调整。另外,对于我的帖子中出现的巨型格式错误,我感到很抱歉,这是全新的。但是印象深刻@user713901:没问题-您可以在撰写以后的文章时参考这一点:另外,欢迎使用Stack Overflow!
    
    $(function () {
        $("#main-nav li").not('.pipe').mouseenter(function () {
            $('#nav-strip2 ul.sub-nav').hide();
            $("#nav-" + this.id).show();
        });
    });
    
    $("#main-nav li:not(.pipe)")