当值匹配时中断 jQuery 循环

  • 本文关键字:中断 jQuery 循环 jquery
  • 更新时间 :
  • 英文 :


我正在将我当前的日期和时间与我拥有的日期和时间列表进行比较。在代码的最后,我正在比较getDates是否大于输出。我想在它为 true 时停止循环并使用匹配的值(要停止,我正在使用返回 false)。请问我该怎么做?我做了一个笔记,说"匹配值在这里",我认为这是我需要插入的地方。

    // Get current date, format it
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var hour = d.getHours();
var minute = d.getMinutes();
var output = d.getFullYear() + '-' +
((''+month).length<2 ? '0' : '') + month + '-' +
((''+day).length<2 ? '0' : '') + day + ' ' +
((''+hour).length<2 ? '0' :'') + hour + ':' +
((''+minute).length<2 ? '0' :'') + minute
alert(output)
// Get all dates and time found in the table on this page
$('td:first-child').each(function() {
    var getDates = $(this).text();

// Check if dates in table expired. If expired skip and display upcoming one
// if getDates is bigger than output then stop looping and use it
    if ( getDates > output) {
        alert('true')
        return false;
        $('#defaultCountdown').countdown({until: new Date(MATCHED VALUE GOES HERE)});
    }

您在设置countdown之前返回。

尝试

if ( getDates > output) {
    alert('true')
    $('#defaultCountdown').countdown({until: new Date(getDates)});
    return false;
}

使函数返回 false。

$('td:first-child').each(function() {
    var getDates = $(this).text();

// Check if dates in table expired. If expired skip and display upcoming one
// if getDates is bigger than output then stop looping and use it
    if ( getDates > output) {
        alert('true')
        $('#defaultCountdown').countdown({until: new Date(MATCHED VALUE GOES HERE)});
        return false;
    }
}

从文档中:

我们可以通过使回调函数返回 false 来在特定迭代中中断 $.each() 循环>。返回非 false 与 for 循环中的继续语句相同;它>将立即跳到下一次迭代。

最新更新