2009-11-09 7 views
1

Я ищу что-то, что позволит мне добавить тег id в 9-й тег li в моем списке. Я даже не уверен, что это возможно?add id to li a using jquery

Вот код:

<ul id="p7menubar"> 
    <li><a href="#" class="trigger">Home</a></li> 
    <li><a href="#" class="trigger">About Us</a></li> 
    <li><a href="#" class="trigger">Collections</a></li> 
    <li><a href="#" class="trigger">Stockists</a></li> 
    <li><a href="#" class="trigger">News/Press</a></li> 
    <li><a href="#" class="trigger">How to Order</a></li> 
    <li><a href="#" class="trigger">Terms & Conditions</a></li> 
    <li><a href="#" class="trigger">Contact Us</a></li> 
    <li><a href="#" class="trigger" XX ID TAG TO GO HERE XX >Online Store</a> 
    <ul id="menuitem_9_0"> 
     <li><a href="#" >Baby Clothing</a></li> 
     <li><a href="#" >Boys Clothing</a></li> 
     <li><a href="#" >Girls Clothing</a></li> 
    </ul> 
    </li> 
</ul> 

Если кто-то может помочь мне, что было бы здорово :)

ответ

6

В Jquery вы должны быть в состоянии сделать все это в одном селекторе:

$("#p7menubar > li:nth-child(9) > .trigger").attr("id","MyNewID"); 

«Совместить тег с классом триггера внутри девятого тега LI внутри p7Menubar».

Update: Похоже, я был неправ, п-й ребенок является 1-индексироваться. Также обновляется, чтобы быть более явным (спасибо Joel Potter)

+0

спасибо! хорошо работает :) – SoulieBaby

+1

Вы должны использовать прямое дочернее ''> '" только в случае, если в любом из более ранних 'li' находятся вложенные списки. – Joel

0

Я считаю, что самый быстрый способ будет следующим:

$('#p7menubar').find('li:eq(8)').attr('id', 'yourID'); 

Кто-то, пожалуйста, поправьте меня, если я ошибаюсь, но я считаю, что это оптимизировано первым использованием getElementById из-за единственного выбора идентификатора перед поиском().

UPDATE

решение
$('#p7menubar > li:eq(8)').attr('id', 'yourID'); 
+1

Этот метод не будет работать, если есть дочерний 'li' в пределах уровня 1' li' до 9-го. –

+0

хорошо catch. должен был обратить внимание на вложенные списки. +1 –

0

Майлс (удален) ПОЧТИ бинго, но он пропустил на „#“ селекторного префикс идентификатора.

Я пробовал его код, и он работает!

<a onclick="$('#p7menubar').children()[8].id = 'QWERTY';">id it!!</a>