Jquery:如何创建双.not()语句?

Mel*_*Dog 3 javascript jquery attributes jquery-selectors

我在<ul>s中有3层嵌套菜单,例如:

<div id="menu">
    <ul>
    <li><a href="somewhere.html">enu Item</a>
      <ul>
        <li><a href="somewhere.html">Menu Item 2</a>
            <ul>
               <li><a href="somewhere.html">Menu Item 3</a></li>
             </ul>
        </li>
      </ul>   
    </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想使用Jquery ul用#替换第一级s的href属性,但是将href属性保留在第2和第3个标签上.

我已经创建了这个脚本,它适用于第二级ul但不适用于第三级.

$("#menu ul li a").not("#ctamenu ul li ul a").attr("href", "#");
Run Code Online (Sandbox Code Playgroud)

我试过这个:

$("#menu ul li a").not("#menu ul li ul a").not("#menu ul li ul li a").attr("href", "#")
Run Code Online (Sandbox Code Playgroud)

但这不起作用 - 第三层仍然有效 href='#'

有没有办法做一个"双重不"的陈述?

Exp*_*lls 6

第三级嵌套在另一个ul您缺少的级别,但使用子选择器会更容易:

#menu > ul > li > a
Run Code Online (Sandbox Code Playgroud)