繁体   English   中英

如何检查是否是最后一个元素

[英]how to check if it was the last element

如何检查是否是最后一个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");
        }
    }
})

;

查看您的代码,我理解的是您希望每秒显示一个div。 为此,我建议采用以下方法。 首先将hidden类添加到所有div ,然后每秒钟将其从第一个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> 

据我了解您的问题,以下解决方案必须适合您的情况:

 $(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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM