Javascript jQuery-在$(this)上切换类,并删除所有其他对象上的类
下面是我正在使用的jQuery代码段:Javascript jQuery-在$(this)上切换类,并删除所有其他对象上的类,javascript,jquery,html,css,Javascript,Jquery,Html,Css,下面是我正在使用的jQuery代码段: $('.panel-title').click(function(){ $(this).find('.state').toggleClass('rotate'); }); 更新-编辑小提琴以匹配更多我正在处理的内容 这是一把小提琴,向你展示了我在说什么 我需要做的是来回切换一个类。这是很直截了当的。但我还需要对其进行设置,以便如果某个元素上已经存在该类,我需要将其删除 因此,在小提琴中,您可以看到,当您单击“这是标题4”时,它会切换“colorCh
$('.panel-title').click(function(){
$(this).find('.state').toggleClass('rotate');
});
更新-编辑小提琴以匹配更多我正在处理的内容
这是一把小提琴,向你展示了我在说什么我需要做的是来回切换一个类。这是很直截了当的。但我还需要对其进行设置,以便如果某个元素上已经存在该类,我需要将其删除 因此,在小提琴中,您可以看到,当您单击“这是标题4”时,它会切换“colorChange”类。但当你点击“This heading 2”时,我需要它切换到绿色,但也希望在它切换刚刚点击的元素之前,从“This heading 4”(或它可能存在的任何其他地方)中删除该类 我有办法做到这一点吗?好了:
$('.panel-title').click(function(){
// If the clicked element has the rotate class, remove the rotate class from EVERY .panel-title>.state element
if ($(this).find('.state').hasClass('rotate')){
$('.panel-title').find('.state').removeClass('rotate');
}
// Else, the element doesn't have the rotate class, so we remove it from every element before applying it to the element that was clicked
else {
$('.panel-title').find('.state').removeClass('rotate');
$(this).find('.state').addClass('rotate');
}
});
如果它有类,则将其删除到每个标题中,否则,将其删除到所有标题中,但将其添加到您单击后的标题中。这就成功了!!!在我编辑小提琴之前你回答了。其他人抱怨太多了,问题变了,所以我需要创建一个新的帖子。谢谢你的帮助!!很高兴它有帮助:-),我会编辑它以添加一些评论供将来参考。顺便说一句,问题没有改变,你提供了所有需要的信息,你说小提琴是参考,你没有说这是问题;-)