我创建了一些快速的jQuery切换代码:

$("#expander.closed").click(function(){
    console.log("opening");
    $("#expander").removeClass();
    $("#expander").addClass("open");
});
$("#expander.open").click(function(){
    console.log("closing");
    $("#expander").removeClass();
    $("#expander").addClass("closed");
});


这个想法是,每当您单击#expander时,该类就会在openclosed之间切换。

但是,由于某种原因,它只能工作一次,从closed更改为open,然后再继续进行下去。

我不知道为什么。 Here's a jsFiddle

最佳答案

我认为一开始,当您绑定事件时,.closed类不存在,因此该事件不会被绑定

可能是您应该将事件绑定到其他条件,或者使用live。虽然不推荐使用

更好的方法是这样的

$("#expander_parent").on('click', '#expander.closed', function(){
    // Do your stuff
})

关于javascript - jQuery基本切换仅一种方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14901853/

10-09 23:23