2010-07-14 3 views
1

Как, используя Nth-Child, я могу добавить класс в каждый красный квадрат?Вопрос о JQuery Nth-Child

alt text http://www.eirestudio.net/hosting-files/dd.png

Я попытался с помощью:

$('#mainnav li ul li:nth-child(3n)').addClass('yes'); 

Markup:

<ul> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
     <li><a href="">SUUB</a></li> 
</ul> 
+0

показывает нам разметку будет намного больше пользы, чем показывает нам, как это показывает. –

+0

Я не вижу в этом ничего плохого ... на самом деле, посмотрите эту скрипку: http://jsfiddle.net/G6kSV/. Кажется, что он работает правильно - возможно, у вас проблемы с чем-то другим, чем nth-child? – Faisal

ответ

3

Это один поставит yes класс на всех LIS, за исключением первого а затем каждую треть:

$('#mainnav li ul li:not(:nth-child(3n+1))').addClass('yes'); 
1

В одном решении, вы можете применить класс ко всем элементам и удалить его из каждой третьей ...

$('#mainnav ul li').addClass('yes').parent().find(':nth-child(3n)').removeClass('yes');​​​​ 
+1

Это добавит класс 'yes' к первым двум столбцам. –

+0

Упс, хороший улов;) – Andir

Смежные вопросы