как найти <ul>в <li>, а затем добавить класс к <li> - PullRequest
2 голосов
/ 08 января 2011
<ul>
<li>nav</li>
<li>nav</li>
<li>nav</li>
<li class="how do i addClass here">nav "how to addClass with in this li"
 <ul>
     <li>nav</li>
     <li>nav</li>
     <li class="how do i addClass here">nav "how to addClass with in this li"
          <ul>
             <li>nav</li>
             <li>nav</li>
             <li>nav</li>
         </ul>
     </ul>
 </li>
 </ul>

Ответы [ 3 ]

3 голосов
/ 08 января 2011
$('ul').parent('li').addClass('someclass');

Выберите все элементы <ul>, затем do .parent('li'). Это только выберет непосредственный родительский элемент , если это элемент <li>. Затем используйте .addClass() для добавления класса.

Используется действительный селектор CSS, что хорошо для производительности в браузерах, поддерживающих querySelectorAll.

Браузеры, которые его не поддерживают, также должны работать быстро, поскольку jQuery, скорее всего, getElementsByTagName.

1 голос
/ 08 января 2011

Попробуйте это:

$("li:has(ul)").each(function(){
   $(this).addClass("<YOUR_CLASS_NAME>")
 }
)
0 голосов
/ 08 января 2011
$('body ul:nth-child(1) li:nth-child(4)').addClass('test').find('ul li:nth-child(3)').addClass('test2');

живая демоверсия: http://jsfiddle.net/ps8AA/

...