我有一个包含四张图片的列表。每个图像在任何给定时间应该只有一个活动类。 (类似于单选按钮)。
到目前为止我的代码支持这个罚款: http://jsfiddle.net/tctc91/HyHgp/
var themeChooser = $('.themeChooser ul li img');
themeChooser.click(function() {
if(!themeChooser.hasClass('themeSelected')) {
$(this).addClass('themeSelected');
} else {
$(this).removeClass('themeSelected');
}
});
我的问题是,当.themeSelected类已经处于活动状态时,如果单击其他图像,它将无法工作。我需要它,因此如果它已经处于活动状态并且您单击其他图像,它将删除现有的类并将其添加到新图像。
谢谢!
答案 0 :(得分:1)
在您的点击处理程序中添加$('.themeSelected').removeClass('themeSelected');
可以实现您想要的效果。
编辑:不是那么简单,上面会停止重新点击所选元素取消选择。因此,您实际上需要这样的添加:
if(!$(this).hasClass('themeSelected'))
$('.themeSelected').removeClass('themeSelected');
请参阅此实例:http://jsfiddle.net/HM5DF/