1

我有如下所示的 HAML 标记:

.image_container{style: 'background-image: url(' + item['image'] + ')'}
      .check

我有一个 CoffeeScript 函数,它在点击时向 .image_container 添加一个类,如下所示:

toggleProduct: (evt) ->
      $(evt.currentTarget).find('.image_container').toggleClass "unselected"

我想在这个函数中添加一点,删除类 .check onclick 并在它不存在时将其添加回来。最初这对我来说听起来像是一个基本的切换,但我不确定解决方案是什么,因为该类已经存在于这个实例中。有没有更简单的方法来实现这一点而无需使用 if/else 语句来检查类是否存在然后添加或删除它?这似乎有点多余。

4

1 回答 1

1

如果我对您的理解正确,并且每当存在未选择的类时,请检查不能,反之亦然,您可以执行以下操作以确保相关性并避免检查该类是否已存在:

toggleProduct: (evt) ->
  img = $(evt.currentTarget).find('.image_container')
  img.toggleClass 'unselected'
  $(evt.currentTarget).find('.check_container').toggleClass 'check', not img.hasClass('unselected')
于 2013-10-23T19:30:39.270 回答