我如何选择具有特定类的div ID,然后使用jQuery/javascript将该类移动到下一个ID?

我如何选择具有特定类的div ID,然后使用jQuery/javascript将该类移动到下一个ID?,javascript,jquery,addclass,removeclass,Javascript,Jquery,Addclass,Removeclass,我有以下代码: <div class="m-item m-active"> </div> <div class="m-item"> </div> <div class="m-item"> </div> 我想做的是,当我单击一个按钮时,jquery会找到类为“m-item”且类为“m-active”的div,从该div中删除“m-active”类并将其移动到下一个“m-item”div 因此,单击按钮后,代码应如下所

我有以下代码:

<div class="m-item m-active">
</div>

<div class="m-item">
</div>

<div class="m-item">
</div>

我想做的是,当我单击一个按钮时,jquery会找到类为“m-item”且类为“m-active”的div,从该div中删除“m-active”类并将其移动到下一个“m-item”div

因此,单击按钮后,代码应如下所示(其中m-active位于第二个div上):


有人知道如何做到这一点吗

多谢各位

$('.m-active').removeClass('m-active').next('.m-item').addClass('m-active');
进一步阅读:


此答案用于在到达终点后环绕第一个元素。如果没有任何元素处于活动状态,它也将起作用

单击按钮时,找到活动元素,然后使用jQuery函数查找下一个
.m-item
。如果未找到该项(
next.length==0
),则获取第一个
.m-item
。最后切换
m-active
类:

$('#get-next').on('click', function() {
    var active = $('.m-active');
    var next = active.next('.m-item');
    if(next.length === 0) {
         next = $('.m-item').eq(0);   
    }

    active.removeClass('m-active');
    next.addClass('m-active');    
});

ID必须是唯一的。您不应该在同一个HTML文档中重复ID-它们必须是唯一的是,我实际上刚刚意识到这一点,并且正准备修复它。当最后一个div拥有该类,并且您单击按钮时会发生什么?什么都没有,或者第一个div应该得到吗?太棒了,正是我需要的。谢谢你的阅读信息。我如何使它在最后一个div之后,当点击按钮时不会发生任何事情?我相信(我可能在这里被更正)如果没有紧跟在后面的兄弟div具有类m-item(即您描述的行为),那么上面的行将不会起任何作用。
$('#get-next').on('click', function() {
    var active = $('.m-active');
    var next = active.next('.m-item');
    if(next.length === 0) {
         next = $('.m-item').eq(0);   
    }

    active.removeClass('m-active');
    next.addClass('m-active');    
});