如果元素后跟另一个,则添加类

时间:2013-07-24 15:02:17

标签: 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");
}

但是没有用。

请帮帮忙?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用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');
});