2011-11-20 91 views
0

我有一个动态列表(<ul><li></li></ul>)的项目(三列)在html列表中找到第n个元素列表项的最佳方法?

我需要添加一些保证金出现在三列中的顶部项目。我只是只有一列,我可以做

$('ul.dynamic').each(function() { 
    $(this).find('li').first().addClass('menuMargin'); 
}); 

但现在我有三列有啥使用jQuery到第一,第9和第17的列表项(每列8项)添加这个类的最佳方式/ JavaScript的?

在此先感谢。

+3

为什么每列的顶部需要额外的保证金?你不能只添加填充到'ul'吗?你确定这不会更好地列为三个列表吗? – Eric

+0

Eric,你好,上项目需要额外的保证金,因为设计师是这么说的:)列表是从动态导航等等一切都在一个列表/我使用一些其他的CSS到它在三列拆分列渲染。 – user997685

+1

是的,但容器上的“padding”与列表项上的“margin”相同。你确定你不是指边框吗? '.menuMargin'做了什么? – Eric

回答

3

试试这个:

var ul = $('ul.dynamic'); 
ul.find("li:first-child, li:nth-child(9), li:nth-child(17)").addClass("menuMargin"); 
2

只需添加填充到容器:

ul { padding-top: 50px; } 

jsfiddle

相关问题