jQuery('li.has-sub ul li:even').addClass('even');
jQuery('li.has-sub ul li:odd').addClass('odd');
这些课程正被添加到下拉菜单中。在一个下拉菜单中,类正确添加,但另一个下拉列表是将类even
添加到奇数元素。我认为jquery可能会将所有列表项一起计算,这仍然无法解释为什么它将1计为偶数。你可以在这个网址上看到问题:
带有黄色背景的菜单以漂流之旅开始 http://bit.ly/XAEmh7
我尝试添加this
,试图让jQuery只计算ul但没有运气。
答案 0 :(得分:1)
根据您的代码,jQuery的行为正确:
jQuery('li.has-sub ul li:even').addClass('even');
jQuery('li.has-sub ul li:odd').addClass('odd');
如果您将其更改为:
jQuery('li.has-sub').each(function(){
jQuery('ul li:even',this).addClass('even');
jQuery('ul li:odd',this).addClass('odd');
});
应该工作。
答案 1 :(得分:0)
:ODD /:偶数选择器是基于0的索引,因此它将高亮第二,第四等行为奇数(索引1,3等)
另外,为了提高性能,您应该使用.filter,如下所示:
$(document).ready(function() {
$('li ul').filter(':even').addClass('even').end()
.filter(':odd').addClass('odd');
});
请参阅jQuery文档:http://api.jquery.com/odd-selector/