Javascript 对列表中存在隐藏li的li应用替代类,而不使用:visible
我有李的名单,其中有一些隐藏的李也。我使用这个方法来应用css类Javascript 对列表中存在隐藏li的li应用替代类,而不使用:visible,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我有李的名单,其中有一些隐藏的李也。我使用这个方法来应用css类 function ArrangeAlternateRows() { $('#' + firstContainer + ' li, #' + secondContainer + ' li').removeClass('AltRow'); $('#' + firstContainer + ' li:visible:odd').addClass('AltRow'); $('#' + secondContaine
function ArrangeAlternateRows() {
$('#' + firstContainer + ' li, #' + secondContainer + ' li').removeClass('AltRow');
$('#' + firstContainer + ' li:visible:odd').addClass('AltRow');
$('#' + secondContainer + ' li:visible:odd').addClass('AltRow');
$('#' + secondContainer + ' li input[type="text"]').css("width", "100%");
}
它工作得很好,但在IE-7中:“可见”不起作用,所以我尝试使用“不(:隐藏)”也不起作用
是否有其他方法可以在li上应用css类而不使用“:visible”您仍然可以使用循环将类直接分配给li 如果您这样做了,您还保留了与其他浏览器(如IE7)的兼容性
选中:在使li可见/不可见时添加/删除类,例如
可见li
$('#' + firstContainer + ' li').show().toggleClass("visible-li");
$('#' + firstContainer + ' li').hide().toggleClass("visible-li");
所以
我想知道为什么
:visible
不适用于Internet Explorer 7中的代码。您进入兼容性视图是出于某种原因吗?尝试在您的
中添加
@richardnielilagan我没有使用兼容性视图确定您没有意外触发它?如果你真的确定,我想不出它为什么不起作用。如果我没有弄错的话,这个错误行为似乎已经被插回1.3.2。这就是我的工作,但在你的例子中,你将如何处理隐藏的li。这样->抱歉,我刚才看到了你的评论
$('#' + firstContainer + ' li').show().toggleClass("visible-li");
$('#' + firstContainer + ' li').hide().toggleClass("visible-li");
$('#' + firstContainer + ' li.visible-li') // gives visible li elements inside firstContainer