【问题标题】:how to remove previous class and add new class in jquery?如何删除以前的类并在 jquery 中添加新类?
【发布时间】:2012-10-29 14:40:57
【问题描述】:

我将主键存储为类名

每次调用这个函数时,我都会有新的主键键,

 function OnBtnShowPopupClick(elementID) {
                ASPxClientPopupControl1.ShowAtElementByID(elementID);
                $("#hiddenTag").addClass(elementID);
            }

我想要的是删除以前的类名并添加新的类名

怎么做?

【问题讨论】:

    标签: jquery asp.net jquery-ui


    【解决方案1】:

    你看过removeClass

    $("#hiddenTag").removeClass('someclass').addClass(elementID);
    

    如果你不知道类名:

    $("#hiddenTag").removeAttr('class').addClass(elementID);
    

    【讨论】:

      【解决方案2】:
      var tag = $("#hiddenTag");
      
      tag.removeClass('oldclassname');
      tag.addClass('newclassname');
      

      【讨论】:

        【解决方案3】:

        不知道类名的可以使用removeAttr,

         function OnBtnShowPopupClick(elementID) {
                    ASPxClientPopupControl1.ShowAtElementByID(elementID);
                    $("#hiddenTag").removeAttr('class');
                    $("#hiddenTag").addClass(elementID);
         }
        

        【讨论】:

          【解决方案4】:

          可以使用data() 方法将类存储在元素中,以便在下次更新标签时将其删除。这用于元素可能有多个类并且您只希望删除一个的情况。使用removeAttr('class') 将带走应用于元素的所有类

          function OnBtnShowPopupClick(elementID) {
              ASPxClientPopupControl1.ShowAtElementByID(elementID);
              var $tag = $("#hiddenTag"), currClass = $tag.data('currClass');
                  if (currClass) {
                      $tag.removeClass(currClass);
                  }
          
                  $tag.addClass(elementID).data('currClass', elementID) ;
          
          };
          

          【讨论】:

          • 这不是有点矫枉过正吗?如果您不知道名称并且不需要在任何地方存储任何内容,只需 removeAttr 即可摆脱该类。更快的加载时间等等。除非我错过了一点。
          • @webnoob 你怎么知道元素可能不像许多小部件那样有多个类? removeAttr('class') 将它们全部清除,而这种方式只会删除目标类
          • 我猜你的意思是removeAttr?同意,这将更适合这种情况。感谢您的澄清。
          • @webnoob yes...其他使用removeClass的解决方案也不显示旧类的存储方法
          【解决方案5】:

          您可以通过以下方式一举“删除”和“添加”一个类:

          var tag = $("#hiddenTag");
          tag.removeClass('oldclassname').addClass(elementID);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-01-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-03
            • 1970-01-01
            相关资源
            最近更新 更多