2

を使用してWordpressでメニューを生成しましたwp_list_pages

メニューは次のように生成されます。

<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_page_parent" (WP が自動的に生成します) があり、いくつかの css を使用display:noneしてul.children.

ul.children内のliにクラス「current_page_parent」がある場合、jqueryを使用して新しいクラスを挿入するにはどうすればよいですか?

または、より良い方法があれば、私はそれを受け入れます!

4

2 に答える 2

3

.has()を使用できます

$('ul.children').has('li.current_page_parent').addClass('newclass')

または:has-selector

$('ul.children:has(li.current_page_parent)').addClass('newclass')

デモ:フィドル

于 2013-11-04T10:03:12.257 に答える
0

このためhasClass()に、jQueryでメソッドを使用できます

if ($('ul.children li').hasClass("current_page_parent")) {
  $('ul').addClass('your new class');
}
于 2013-11-04T10:02:10.683 に答える