【发布时间】:2013-02-05 11:41:33
【问题描述】:
我有一个<li>s 列表,每个列表中都有一个复选框,我想隐藏所有没有选中复选框的<li>s。
目前我正在这样做,首先隐藏所有<li>s,然后取消隐藏选中复选框的那些,如下所示:
$("#categoryList").find('li').each(function () {
$(this).addClass("searchhide");
});
$("#categoryList").find("input[type=checkbox][checked]").each(function () {
$('#id-' + $(this).attr('rel')).removeClass("searchhide");
});
但难道不能以更直接的方式做到这一点,只隐藏那些需要隐藏的东西吗?
$("#categoryList").find('li').not("input[type=radio][checked]").each(function () {
$(this).addClass("searchhide");
});
【问题讨论】:
-
更简单的看我的代码...! ;)
-
@aSeptik 并不简单,只是塞进一行,可读性较差
;)(和slower,请参阅其他注释...)
标签: jquery jquery-selectors checkbox