底部编辑
简述:我不知道如何给没有我勾选的类的所有div标签添加class属性。
我试图创建一个排序脚本来管理一个小型指南列表。我的想法是,我的div标签将附有描述性的类,例如:
<div class="guide-block WINDOWS UPDATE INSTALL">
"Windows,Update和Install"是只用于排序目的的“描述”类。一个带有复选框的列表将允许用户选择与他们需要查找的相关复选框。例如:
<input type="checkbox" id="install"/>
<input type="checkbox" id="update"/>
<input type="checkbox" id="windows"/>
用户选择与其搜索相关的复选框,然后没有被选中的复选框所对应的 div 就会添加一个 display: none; 的 class。这样就可以让不相关的指南(理论上)消失。
我相对于 Java 和 JQuery 来说还比较新手,不太确定自己在做什么。我从这个网站上其他类似问题的脚本中拼凑出了我需要的代码。我已经让代码部分工作了。当勾选时它会使匹配的复选框所对应的 div 消失。但是我想要相反的效果。我希望没有被勾选的复选框所对应的 div 消失。如果我的 div 上有 UPDATE 和 INSTALL,我需要代码认识到其中有一个被选中并且依旧保留该 div。因为现在的情况是,即使 div 中含有 UPDATE 和 INSTALL,只要其中一个被选中,整个 div 都会消失。
$(document).ready(function(){
$('#install').change(function () {
if (!this.checked)
$("div.guide-block.install").css("display", "block");
else
$("div.guide-block.install").css("display", "none");
});
$('#update').change(function () {
if (!this.checked)
$("div.guide-block.update").css("display", "block");
else
$("div.guide-block.update").css("display", "none");
});
$('#windows').change(function () {
if (!this.checked)
$("div.guide-block.windows").css("display", "block");
else
$("div.guide-block.windows").css("display", "none");
});
});
任何帮助都将不胜感激。无论如何都请给我一份指南,告诉我如何做这件事。尽管我并不确定自己在寻找什么。我的知识和谷歌搜索似乎遇到了瓶颈。请注意,我已经按照建议重写了代码,但仍然无法正常工作。
$('#install').change(function () {
if (this.checked) {
$('div.guide-block:not(.install)').hide();
}
});