jQuery - 如果 parent 还没有 class

jQuery - if parent has not class

我想创建 auto-add class 到 DIV,所以我这样做:

$( '.navigation' ).find( 'li.active' ).parents( 'li' ).addClass( 'active' );

效果很好!但是现在我需要 'ignore' parents 如果有,例如。 'dropdown-toggle' 所以我将其修改为:

$( '.navigation' ).find( 'li.active' ).parents( 'li:not(.dropdown-toggle)' ).addClass( 'active' );

但这不起作用 - 我的问题在哪里?

尝试将 parents():not 一起使用,例如:

$('.navigation li.active').parents('li:not(".dropdown-toggle")').addClass('active');

希望这对您有所帮助。

$('.navigation li.active').parents('li:not(".dropdown-toggle")').addClass('active');
.active{
  background-color:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class='navigation'>
  <li>Water</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li class='active'>Green tea</li>
    </ul>
  </li>
  <li>Milk</li>
  <li class='dropdown-toggle'>Coffee (Has dropdown-toggle class)
    <ul>
      <li>Black Coffee</li>
      <li class='active'>Cream Coffee</li>
    </ul>
  </li>
</ul>