如何在Jquery中随机切换类?

如何在Jquery中随机切换类?,jquery,Jquery,我试图首先向div添加一个类,然后使用Jquery中随机选择的类替换它 初始加载时,我的html如下所示: <div class="portfolio-image boomer"></div> 最简单的方法(因为它不需要你保持任何关于当前颜色的状态) 有关更多信息,请参阅。可能不是最有效的解决方案,但您可以删除所有类,然后添加“公文包图像”类,然后添加随机选择的类。不带参数的jQuery.removeClass()将删除所有类。所以像这样的东西可能有用 jQuery(t

我试图首先向div添加一个类,然后使用Jquery中随机选择的类替换它

初始加载时,我的html如下所示:

<div class="portfolio-image boomer"></div>
最简单的方法(因为它不需要你保持任何关于当前颜色的状态)


有关更多信息,请参阅。

可能不是最有效的解决方案,但您可以删除所有类,然后添加“公文包图像”类,然后添加随机选择的类。不带参数的jQuery.removeClass()将删除所有类。所以像这样的东西可能有用

jQuery(this).removeClass().addClass('portfolio-image ' + classes[~~(Math.random()*classes.length)]);

可能重复的可能重复-
$(this.attr('class','portfolio image'+classes[~~(Math.random()*classes.length)])
比…更合适……是的,你说得对。我对jQuery的本质了解不够,无法知道浏览器在removeClass()和addClass()之间实际做了多少工作。如果在这两次通话之间导致了油漆或类似的东西,那么最好是一次性处理。
<div class="portfolio-image green"></div>
<div class="portfolio-image boomer green"></div>
<div class="portfolio-image boomer green red"></div>
jQuery(document).ready(function(){
    animateTheBoxes();
});

function animateTheBoxes() {
    var classes = [ 'red', 'green', 'blue', 'gold'];

    jQuery(".portfolio-image").each(function(){
        jQuery(this).removeClass('boomer ' + classes.join(' ')).addClass(classes[~~(Math.random()*classes.length)]);
    });

    setTimeout(animateTheBoxes, 5000);
}
jQuery(this).removeClass().addClass('portfolio-image ' + classes[~~(Math.random()*classes.length)]);