1

「ul.subnav」が続く場合、「a.tab」にクラスを追加しようとしています...

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

しかし、機能していません。

助けてください?

ありがとう!!

4

1 に答える 1

3

jQuery.filter()メソッドを使用できます。

デモ

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

または、次の兄弟セレクターを使用します。

デモ

$(function () {
    $("ul li a.tab + ul.subnav").prev().addClass('drop');
});
于 2013-07-24T15:05:31.310 に答える