选择jQuery中除用作菜单的链接以外的所有链接

选择jQuery中除用作菜单的链接以外的所有链接,jquery,Jquery,我尝试了以下代码:$(“*:not(.menu ul li)a”),但它不起作用,它选择了所有链接。以下是用于构建菜单的HTML: <nav class="menu"> <ul> <li><a href="index,php">ראשי</a></li> <li><a href="index1.php">example2</a></li>

我尝试了以下代码:
$(“*:not(.menu ul li)a”)
,但它不起作用,它选择了所有链接。以下是用于构建菜单的HTML:

<nav class="menu">
    <ul>
        <li><a href="index,php">ראשי</a></li>
        <li><a href="index1.php">example2</a></li>
        <li class="s"><a class="has-sub">sub menu</a>
            <ul style="display: none; opacity: 1;">
                <li><a href="index2.php">hi</a></li>
                <li><a href="index3.php">hello</a></li>
            </ul>
        </li>
        <li><a href="index4.php">example3</a></li>
    </ul>
</nav>


  • 在您的情况下,您可以使用:

    $('a:not(.menu a)')
    
    或:


    当然这不起作用–例如,您的第一个
    li
    元素没有类
    菜单
    ,但它有一个
    a
    作为后代,因此后者与您的选择器匹配…@CBroe那么我该怎么办?我认为这就像css一样,除非我使用的是
    ,否则在…@VladGincher之间是否有什么东西并不重要,你可以一直使用
    $(“a”)。而不是('.menu a')
    $('a').not('.menu a')