jQuery检查每个()

时间:2016-01-01 14:17:57

标签: javascript jquery html

我有一些divs具有相同的班级名称。我拨打了jQuery each()电话。我需要检查这个each()循环的最后一个操作(在Operation 4文本div执行时)。这是代码 -

jQuery('.selected-div').each(function () {});
<div id="Message area">
  <div class="selected-div">
    Operation 1
  </div>
  <div class="selected-div">
    Operation 2
  </div>
  <div class="selected-div">
    Operation 3
  </div>
  <div class="selected-div">
    Operation 4
  </div>
</div>

3 个答案:

答案 0 :(得分:2)

如果你想在上次执行循环时做一些不同的,你至少有几个选择:

  1. 将jQuery对象保存到变量中,然后在each循环中,检查当前迭代对.length - 1的索引:

    var divs = jQuery('.selected-div');
    divs.each(function(index) {
        if (index === divs.length - 1) {
            // Last iteration
        } else {
            // Not last
        }
    });
    
  2. 将最后一个操作移动到一个单独的函数中:

    jQuery('.selected-div').slice(0, -1).each(function() {
       // Not the last
    }).end().last().each(function() {
       // Last
    });
    

    在那里,我们使用slice获取除最后一个元素之外的所有元素,然后each循环遍历它们,然后end以获取完整的元素集,然后{{3只获取最后一个,并each调用一个函数,并将其传入。

答案 1 :(得分:0)

我的建议是:

var lastEle = $('.selected-div').last().get(0);
$('.selected-div').each(function (index, element) {
  if (element === lastEle) {
    do your action
  }
});

答案 2 :(得分:0)

您可以为最后一个元素创建一个占位符。

的JavaScript

var placeHolder;
$('.selected-div').each(function () {
  // your code
  // append $(this) to placeHolder
  placeHolder = $(this);
});

Example