我在li
中有一个ul
列表来应用css类,我正在使用以下代码。
$('#' + firstContainer + ' li:nth-child(even)').addClass('AltRow');
$('#' + firstContainer + ' li:nth-child(odd)').removeClass('AltRow');
$('#' + secondContainer + ' li:nth-child(even)').addClass('AltRow');
$('#' + secondContainer + ' li:nth-child(odd)').removeClass('AltRow');
现在有一些li
被设置为显示无,所以我需要在应用类时删除它们。
如何实现这一点。
答案 0 :(得分:2)
以下内容适合您:
$('#' + firstContainer + ' li:visible').filter(":even").addClass("AltRow");
$('#' + firstContainer + ' li:visible').filter(":odd").removeClass("AltRow");
$('#' + secondContainer + ' li:visible').filter(":even").addClass("AltRow");
$('#' + secondContainer + ' li:visible').filter(":odd").removeClass("AltRow");
答案 1 :(得分:2)
可能更短/更清洁:
$('#' + firstContainer + ' li, #' + secondContainer + ' li').removeClass('AltRow');
$('#' + firstContainer + ' li:visible:even').addClass('AltRow');
$('#' + secondContainer + ' li:visible:even').addClass('AltRow');
这是jsFiddle
答案 2 :(得分:-1)
$('#' + firstContainer + ' li').removeClass('AltRow').is(':visible:even');
$('#' + secondContainer + ' li').removeClass('AltRow').is(':visible:even');
编辑:我的不好我没有阅读每一行代码
答案 3 :(得分:-1)
$('#' + firstContainer + ' li:even:visible').addClass('AltRow');
$('#' + firstContainer + ' li:odd:visible').removeClass('AltRow');
$('#' + secondContainer + ' li:even:visible').addClass('AltRow');
$('#' + secondContainer + ' li:odd:visible').removeClass('AltRow');