因此,在基本设置中,我有三个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();
});

09-30 13:48