jquery - 如果元素后面跟着另一个元素则添加类

标签 jquery

我正在尝试将一个类添加到我的“a.tab”中,如果它们后面跟着“ul.subnav”...

<ul>

  <li><a class ="tab" href="">Nav 1</a></li>
  <li>
    <a class ="tab" href="">Nav 2</a>
    <ul class="subnav">
       <li><a href="">SubNav 1</a></li>
       <li><a href="">SubNav 2</a></li>
       <li><a href="">SubNav 3</a></li>
    </ul>
  </li>
  <li><a class ="tab" href="">Nav 3</a></li>

</ul>

我有这个查询代码:

if($("ul li a.tab").is().next("ul.subnav"){
   $(this).addClass("drop");
}

但是不起作用。

请帮忙?

谢谢!!

最佳答案

您可以使用 jQuery .filter() 方法:

DEMO

$("ul li a.tab").filter(function(){
    return $(this).next('ul.subnav').length
}).addClass('drop');

或者使用下一个兄弟选择器:

DEMO

$(function () {
    $("ul li a.tab + ul.subnav").prev().addClass('drop');
});

关于jquery - 如果元素后面跟着另一个元素则添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837831/

相关文章:

jquery - Kendo 可观察复选框未通过 jQuery 更新 .prop ("checked")

javascript - 根据 jquery 条件应用样式

android - Phonegap Build CLI-5.2.0 从 Web App 下载并关闭

javascript - 在 jquery 中获取 json 根整数数据

JavaScript if else 在全日历上设置事件颜色的条件不起作用

javascript - 在 jQuery 中发送给 .always 的参数是什么?

javascript - 如何在 iPhone 上不使用 jQuery 获取 originalEvent

PHP session 不适用于 JQuery Ajax?

javascript - 计算所有具有相同未知类名的兄弟元素

javascript - 如何使用 JavaScript 构建数组的数组?