如果子项具有特定类,则使用jquery插入新类

如果子项具有特定类,则使用jquery插入新类,jquery,css,wordpress,Jquery,Css,Wordpress,我在Wordpress中使用wp\u list\u页面生成了一个菜单 生成的菜单如下所示: <li class="page_item page-item-11 page_item_has_children"> <a href="#">News</a> <ul class="children"> <li class="page_item page-item-87 current_page_parent">

我在Wordpress中使用
wp\u list\u页面生成了一个菜单

生成的菜单如下所示:

<li class="page_item page-item-11 page_item_has_children">
   <a href="#">News</a>
      <ul class="children">
         <li class="page_item page-item-87 current_page_parent">
            <a href="#">News archive</a>
         </li>
      </ul>
</li>
  • 我只在那个部分打开菜单的子级别。我的问题是有些子项不在父级中,所以我不能仅仅使用纯css来定位它们

    如果你看上面的代码,列表项有一个类“current\u page\u parent”(WP自动生成),我用一些css在
    ul.children
    上说
    display:none

    如果li中有类“current\u page\u parent”,如何使用jquery在
    ul.children
    上插入新类

    或者,如果有更好的方法,我愿意接受

    为此,可以在jQuery中使用方法

    if ($('ul.children li').hasClass("current_page_parent")) {
      $('ul').addClass('your new class');
    }
    
    你可以用


    演示:

    我需要将该类添加到UL,它会这样做吗?@Rob it正在将该类添加到
    UL
    是否可以执行相同的检查,但将该类添加到最顶端的li?我没有否决该类,但现在已将其升级,因为它可以方便地用于菜单的另一部分。
    $('ul.children').has('li.current_page_parent').addClass('newclass')
    
    $('ul.children:has(li.current_page_parent)').addClass('newclass')