jquery selector - избира родители, но не и деца

Опитвам се да използвам 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="/bg#">Corporate</a>
        <ul class="sub-menu">
            <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11">
                <a href="/bg#">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="/bg#">Press</a>
            </li>
        </ul>
    </li>
    <li><a href="/bg#"></a></li>
    <li><a href="/bg#"></a></li>
    <li><a href="/bg#"></a></li>
    <li><a href="/bg#"></a>
         <ul class="sub-menu"><li><a href="/bg#">Link</a></li></ul>
    </li>
</ul>

Бих искал да добавя клас "стрелка" към всяка връзка за котва, която е директно дете на елементите <li> от първо ниво. С други думи, бих искал "корпоративната" връзка да има клас "стрелка", но нито една от връзките за котва в .submenu да има този клас. Опитах следния jquery ($("li.current_page_ancestor a:nth-child(1)").addClass("arrow");), но той добавя класа към всяка връзка за котва, което има смисъл. Как мога просто да добавя този клас към връзките за закотвяне, които са директно дете на елементите от списъка от най-високо ниво?


person JCHASE11    schedule 01.09.2011    source източник


Отговори (2)


> е дъщерният селектор:

$('li.current_page_ancestor > a').
  add($('.sub-menu').parent().children('a')).
    addClass('arrow');
person Paul    schedule 01.09.2011
comment
това се получи добре. Също така искам да добавя класа стрелки към всички връзки за котва, които са вътре в родителския елемент на .sub-menu. Току-що актуализирах горния пример. В този пример бих искал да добавя класа стрелка към абсолютната последна връзка за котва в моя код (тази точно над подменюто) - person JCHASE11; 01.09.2011
comment
Как е тази котва над менюто за сумиране? В него е :-/ - person Alxandr; 01.09.2011
comment
@JCHASE Актуализирах публикацията си, за да отразя промяната във вашия въпрос - person Paul; 01.09.2011
comment
това е връзката за навигация, върху която задържате курсора на мишката, за да получите подменюто. Вижте демонстрация тук: cruisinc.eu/management Връзката към екипажа трябва да има стрелка до нея, защото има подменю - person JCHASE11; 01.09.2011
comment
не виждам разлика в поста ти!! Работи чудесно за всички текущи страници, но за навигационните връзки, които не са текущи и също имат набор от деца (подменю), не работи! - person JCHASE11; 01.09.2011
comment
изглежда глупаво да се добавя подменю. Вече е генериран от wordpress. Знаеш какво имам предвид? - person JCHASE11; 01.09.2011

Като този?

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

CSS-селекторът " > " означава "директен наследник" или "директно дете".

person Alxandr    schedule 01.09.2011
comment
Сигурен ли си, че не само твоят css обърква нещата? - person Alxandr; 01.09.2011
comment

Колко практично е използването на MEF тръбопровода във вашето приложение за среда за добавяне/добавка?

Ако, например, искам да създам основен базов клас за отчитане, след това да разширя функционалността с помощта на някаква настройка на добавка (като MEF тръбопровода), колко практично е да го използвам в тази настройка?

Нямам много приложения, използващи този модел (ако някой има списък с търговски софтуер, използващ това, ще ми е интересно да го проверя)

- person JCHASE11; 01.09.2011