繁体   English   中英

jQuery选择器-选择父母而不是孩子

[英]jquery selector - choosing parents but not children

我正在尝试使用jquery选择一个元素并将一个类添加到该元素。 我的html类似于以下内容:

<ul id="top">
    <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor">
    <a href="#">Corporate</a>
        <ul class="sub-menu">
            <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11">
                <a href="#">Press</a>
            </li>
            <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-88 current_page_item menu-item-90">
                <a href="#">Press</a>
            </li>
        </ul>
    </li>
    <li><a href="#"></a></li>
    <li><a href="#"></a></li>
    <li><a href="#"></a></li>
    <li><a href="#"></a>
         <ul class="sub-menu"><li><a href="#">Link</a></li></ul>
    </li>
</ul>

我想为每个锚链接添加一个“箭头”类,它是第一级<li>元素的直接子代。 换句话说,我希望“公司”链接具有“箭头”类,但.submenu中的任何锚定链接都不具有该类。 我已经尝试了以下jquery( $("li.current_page_ancestor a:nth-child(1)").addClass("arrow"); ),但是它将类添加到每个锚链接中,这很有意义。 如何将该类添加到作为顶级列表项的直接子级的锚链接中?

>是子选择器:

$('li.current_page_ancestor > a').
  add($('.sub-menu').parent().children('a')).
    addClass('arrow');

像这样?

$('ul#top > li > a').addClass('arrow')

css-选择器“>”表示“直接后代”或“直接子代”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM