我有一些简单的 jQuery,它可以在单击后将类“active”切换为 li:
$('li').click(function() {
$(this).toggleClass('active');
});
然后我想要发生的是隐藏列表中的所有其他 li(显示:无),然后当您再次单击事件 li 时,它会删除事件类,但也将所有其他 li 设置为再次可见。这就是我努力实现的目标。
我已经尝试在点击函数中使用 if 语句来检查“事件”类是否存在以及是否将所有 li 设置为隐藏,如果不存在则设置 css 以再次显示它们,但是这是行不通的。
编辑:
tilz0R 的答案几乎就是我要找的,我只是稍微修改一下以适应我的需要。
$('li').click(function() {
$(this).toggleClass('active').siblings().toggleClass('hidden');
});
隐藏类只有 display: none,所以除了被点击的那个之外,所有其他的 li 都被隐藏了,然后所有的都在第二次点击事件 li 时再次显示。
最佳答案
您必须找到当前 li
元素的 sibling 。
$('li').click(function() {
$(this).toggleClass('active').siblings().hide();
});
关于javascript - jQuery 隐藏所有没有类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45279362/