【问题标题】:Remove multiple classes at once一次删除多个类
【发布时间】:2013-07-05 12:26:52
【问题描述】:

我有以下html

<div class="row">
    <div class="one someclass"></div>
    <div class="two someclass"></div>
    <div class="three someclass"></div>
</div>
<div class="row">
    <div class="one someclass"></div>
    <div class="two someclass"></div>
    <div class="three someclass"></div>
</div>

我想删除所有一、二、三属性

我试过了

$(function () {
    $('div').removeAttr('one', 'two', 'three');
});

但是没有用。我认为这是错误的方法。我该怎么办?

【问题讨论】:

  • 您要删除属性或类吗?它们相同
  • @C-Link:我认为你需要再看看本杰明的问题。 ;-)

标签: jquery removeclass


【解决方案1】:

removeClass 接受以空格分隔的要删除的类名列表,因此:

$("div.one, div.two, div.three").removeClass("one two three");

【讨论】:

    【解决方案2】:

    假设您要删除类(例如在您的 HTML 中),您可以执行以下操作

    $('div').removeClass('one two three');
    

    removeClass 上的文档指出:

    要从每个匹配元素的类属性中删除一个或多个以空格分隔的类。

    【讨论】:

      【解决方案3】:

      试试.removeClass() 喜欢

      $('div').removeClass('one two three');
      

      看到这个LINK

      【讨论】:

        【解决方案4】:

        那些不是属性,那些是。试试:

        $('div').removeClass('one two three');
        

        还要注意函数removeClass 接受一个参数,而不是三个。只需将所有预期的类名传递给那个参数即可。

        在这种情况下,属性就是单词“class”本身。

        【讨论】:

          【解决方案5】:

          使用removeClass() 删除类

          试试

          $('div').removeClass('one,two,three');
          

          【讨论】:

            【解决方案6】:

            您正在尝试删除类而不是属性:

            尝试:

            $('.someclass').removeClass('one two three');
            

            【讨论】:

              【解决方案7】:

              试试这个 JQuery 的 removeClass 方法,

              //Normal Practice
              $("div.one, div.two, div.three").removeClass("one two three");
              
              //Best Practice.
              $('div').find('.one, .two, .three').removeClass('one two three');
              

              请查看JQuery removeClass

              【讨论】:

              • 第一个实际上更快:jsperf.com/div-class-vs-find 他们不做同样的事情。
              • @Karl-AndréGagnon:提到这种情况,我删除了我的更快比较相关的评论。但现在我要在这里参考实践。
              • 我不想开始争论或任何事情,但我认为最好的做法是更快?如果这两种方法都更快,那是个人喜好。无论如何,OP 可能只想要一个工作代码:)
              • 他是对的,尽管他们是不同的。这可能应该解释一下。
              猜你喜欢
              • 2019-10-30
              • 1970-01-01
              • 2012-05-09
              • 2021-08-13
              • 2016-07-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-08-27
              相关资源
              最近更新 更多