2016-11-15 197 views
0

如何检查它是否是最后一个div?如果是我需要删除所有班 “准备就绪”如何检查它是否是最后一个元素

HTML:

<div class="green"></div> 
<div class="orange"></div> 
<div class="red"></div> 
<div class="green"></div> 
<div class="orange"></div> 

JS:

$(function() { 
    setInterval(showBlock, 1000); 
    function showBlock() { 
     var x = $("div:first").addClass("ready"); 
     var c = $("div"); 
     $(".ready").css("display", "block"); 
     if (c.hasClass("ready")) { 
      $(".ready:last").next().addClass("ready"); 
     } 
    } 
}) 

;

+0

使用'。是( ':最后一个' )' - 尽管当最后一个元素到达时你期望发生什么?可能有办法来改善你的逻辑。 –

+0

你能详细解释一下吗? – Crowes

+0

**我需要删除所有类“准备就绪”**你想要什么完全由此? – Shaharyar

回答

2

看你的代码我知道你想在每秒钟后显示一个div。为此,我会提出以下方法。 首先向所有div s添加hidden类,然后在每秒钟从第一个hidden div中删除它。

$(function() { 
 
    $('div').addClass('hidden'); 
 
    var i = setInterval(showBlock, 1000); 
 
    function showBlock() { 
 
    var x = $("div.hidden:first").removeClass("hidden"); 
 
    if($("div.hidden").length == 0) { 
 
     clearInterval(i); 
 
    } 
 
    } 
 
});
.hidden { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="green">Green</div> 
 
<div class="orange">Orange</div> 
 
<div class="red">Red</div> 
 
<div class="green">Green</div> 
 
<div class="orange">Orange</div>

1

据我理解您的问题,以下解决方案必须工作你的情况:

$(function() { 
 
    setInterval(showBlock, 1000); 
 
    function showBlock() { 
 
    var ready_divs = $("div.ready").length; 
 
    var total_divs = $("div").length; 
 
    if(ready_divs!=total_divs){ 
 
     if(ready_divs==0){ 
 
     $("div:first").addClass('ready'); 
 
     }else{ 
 
     $("div.ready:last").next('div').addClass('ready'); 
 
     } 
 
    }else{ 
 
     $("div").removeClass('ready') 
 
    } 
 
    } 
 
});
div{ 
 
    width: 20px; 
 
    height: 20px; 
 
    border:1px solid red; 
 
} 
 
div.ready{ 
 
    border:3px solid blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="green"></div> 
 
<div class="orange"></div> 
 
<div class="red"></div> 
 
<div class="green"></div> 
 
<div class="orange"></div>

相关问题