javascript - Jquery:如何创建 double .not() 语句?

标签 javascript jquery jquery-selectors attributes

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

<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>

我想用Jquery替换ul第一层的href属性s 带#,但保留第 2 个和第 3 个 a 标签上的 href 属性。

我创建了这个适用于二级的脚本 ul s 但不是第三层。

$("#menu ul li a").not("#ctamenu ul li ul a").attr("href", "#");

我试过这个:

$("#menu ul li a").not("#menu ul li ul a").not("#menu ul li ul li a").attr("href", "#")

但这行不通——第 3 层仍然有 href='#'

有没有办法做一个“双重不”声明?

最佳答案

第三层嵌套在另一个 ul 中,但使用子选择器会更容易:

#menu > ul > li > a

关于javascript - Jquery:如何创建 double .not() 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14928512/

相关文章:

javascript - 类型错误 : Attempted to wrap undefined property find as function - NodeJs

javascript - 如何在 jquery/javascript 中删除给定 url 的所有 <div> 图像?

jquery - 页面上使用相同类的多个 Jquery 对话框

javascript - Chromium 和 Safari 中不同的 `String` 函数行为

javascript - CKEditor:工具栏未出现

javascript - 删除数据库中的上一行 单击按钮显示数据库中的下一行

jquery - 复合 JQuery 选择器

javascript - 使用 jquery 选择元素附近的第一个 h2

javascript - Ext JS 无法读取 null 的属性 'getItems'

javascript - Jquery 提交时不循环