【问题标题】:The right way to remove a class with jQuery使用 jQuery 删除类的正确方法
【发布时间】:2012-11-04 14:24:00
【问题描述】:

我有一个很让我感兴趣的简单问题: 如果我想用 jQuery 删除一个 CSS 类,那么正确的方法是什么? 1.检查类是否存在后删除?

if($(div).hasClass('css-class')) {
  $(div).removeClass('css-class');
}

2。只是删除它?

$(div).removeClass('css-class');

3.还有其他建议吗?

【问题讨论】:

  • 您可以使用方法 num 将其删除。 2.

标签: javascript jquery css performance frontend


【解决方案1】:

只需删除它。如果元素没有您要删除的类,jQuery 不会抛出错误(或类似的东西)。

$(div).removeClass('css-class');

【讨论】:

  • 谢谢!添加一个类呢?检查是必要的吗?不查会不会加两次?
  • +1 给@Matt Ball。尝试删除或删除不存在的元素时会引发错误,而不是在删除类时。
  • @harsha 不使用 jQuery。如果您尝试选择然后删除一个不存在的元素,它将默默地什么都不做。
  • 对,对不起,我在想香草 JS .. 我的意思是错误控制台中的错误。
【解决方案2】:

对于使用 jquery 删除类,我更喜欢第一个选项来检查特定 dom 元素的类是否存在,然后删除应用于该 DOM 元素的类,即使 jquery 不会抛出任何错误,即使该 DOM 元素没有被应用类

例如

 if($(div).hasClass('css-class')) {
   $(div).removeClass('css-class');
 }

【讨论】:

  • 冗余检查会增加更多操作。
猜你喜欢
  • 1970-01-01
  • 2012-06-07
  • 2012-07-19
  • 2015-07-18
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多