在jQuery中替换类

时间:2015-01-17 02:36:52

标签: javascript jquery

有没有办法在一行中完成以下操作?

item.removeClass('oldClass')
item.addClass('newClass')

replaceClass

之类的东西

5 个答案:

答案 0 :(得分:5)

没有进一步的背景,我建议:

item.toggleClass('oldClass newClass');

但是,如果你真的想要replaceClass()方法(虽然我无法在功能上看到它提供的功能):



(function($) {
  $.fn.replaceClass = function(classes) {
    var allClasses = classes.split(/\s+/).slice(0, 2);
    return this.each(function() {
      $(this).toggleClass(allClasses.join(' '));
    });
  };
})(jQuery);

$('div').replaceClass('oldClass newClass');

.oldClass {
  color: #f00;
}
.newClass {
  color: #0f0;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="oldClass">This element starts with the class "oldClass"</div>
<div class="newClass">This element starts with the class "newClass"</div>
&#13;
&#13;
&#13;

参考文献:

答案 1 :(得分:1)

如果您想尝试使用jquery-ui

switchClass('oldClass', 'newClass'); 

答案 2 :(得分:0)

item.removeClass('oldClass').addClass('newClass')

答案 3 :(得分:0)

$('.theclassthatstherenow').addClass('newclasswithyourstyles');
$('.theclassthatstherenow').removeClass('theclassthatstherenow');

答案 4 :(得分:0)

要使用jQuery在同一行中执行此操作,请使用给定的代码。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$('.oldclass').addClass('newclass').removeClass('oldclass');
</script>