因此,在基本设置中,我有三个div,每个div包含不同的内容,这些内容在页面加载时都被隐藏。理想情况下,用户单击div之一,然后将其展开并显示内容。他们单击另一个div,打开的div关闭,然后单击一个div。
问题是,即使我明确引用了我想要单击的类,我的函数仍在“不可单击”的类上运行。
编辑:添加了一个jsfiddle更好地说明了我想要完成的事情:
http://jsfiddle.net/ev5ew41q/
这是我的JavaScript:
$(function() {
$('.notContent').click(function() {
$(this).switchClass('notContent','isContent');
$('.isContent').switchClass('isContent','notContent');
});
});
notContent的CSS(除其他外)隐藏了“ [此处有一些东西]”。 javascript应该在单击时将“ notContent”切换为“ isContent”,但没有其他选择。我尝试使用if / else,发生同样的事情。不知道我在做什么错。
[语法错误编辑]
最佳答案
简单地更改类将不会解除绑定处理程序。处理程序在运行时绑定到该元素!一个简单的解决方案实际上是只切换单击的元素,然后隐藏所有其他元素:
$('.notContent').click(function() {
$(this).toggle();
$(".notContent").not(this).hide();
});