从所有 div 元素中删除类

Mik*_*ike 3 jquery

我有一组主题。我试图循环遍历它们,并根据我指定的秒数一次向它们添加“glow”类。当一个元素发光时,前一个元素不应再发光。

<div class="center" id="topics">
    <div class="row">
        <div class="topic" id="fade1">Introduction and Overview</div>
        <div class="topic" id="fade4">Topic 6</div>
        <div class="topic" id="fade7">Accounting Topic</div>
    </div>
    <div class="row">
        <div class="topic" id="fade2">Topic Navigation</div>
        <div class="topic" id="fade5">Topic Changes</div>
        <div class="topic" id="fade8">Topic 8</div>
    </div>
    <div class="row">
        <div class="topic" id="fade3">More Topics</div>
        <div class="topic" id="fade6">Elements</div>
        <div class="topic" id="fade9">Conclusion</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是我定义它们发光的秒数间隔的方式。因此,当其中一个发光时,其余的应该不再发光。

$.glowElements([
    {target: "#fade1", seconds: 4},
    {target: "#fade2", seconds: 9},
    {target: "#fade3", seconds: 20},
    {target: "#fade4", seconds: 22}, 
    {target: "#fade5", seconds: 23},
    {target: "#fade5", seconds: 24}                              
]);
Run Code Online (Sandbox Code Playgroud)

我处理发光的代码:

$.glowElements = function(list){
    if(!USE_AUDIO){ return; }

    $(list).each(function(index, element){ 
        // remove all glows first
        $(".row > div").removeClass("glow");


        timers.push(setTimeout(function(){ 
            $(element.target).addClass("glow");
        },element.seconds * 1000));
    });
}
Run Code Online (Sandbox Code Playgroud)

我的$(".row > div").removeClass("glow");不工作?有任何想法吗?

Sud*_*n S 5

简单的方法

$(".glow").removeClass("glow");
Run Code Online (Sandbox Code Playgroud)

然后添加

$(element.target).addClass("glow");
Run Code Online (Sandbox Code Playgroud)