Javascript 突出显示日期时间的TD单元格

Javascript 突出显示日期时间的TD单元格,javascript,html,jquery-ui,Javascript,Html,Jquery Ui,我早些时候问过一个类似的问题。我有一个简单的JavaScript来突出显示TD单元格中的日期文本。我不得不将日期格式改为“24/04/2015 10:57 AM”,并把我的脚本搞砸了。我试着让它适应我的新约会方式,但它不起作用。我有一个td单元,类为“SM\u next\u update” 我试图完成的是在日期时间过期时突出显示单元格。它将在15分钟即将到期时亮显橙色,过期时亮显红色 有人知道我错过了什么吗 $('.SM_next_update').each(function () {

我早些时候问过一个类似的问题。我有一个简单的JavaScript来突出显示TD单元格中的日期文本。我不得不将日期格式改为“24/04/2015 10:57 AM”,并把我的脚本搞砸了。我试着让它适应我的新约会方式,但它不起作用。我有一个td单元,类为“SM\u next\u update”

我试图完成的是在日期时间过期时突出显示单元格。它将在15分钟即将到期时亮显橙色,过期时亮显红色

有人知道我错过了什么吗

$('.SM_next_update').each(function () {
    var dtSt = $(this).html().split(" ");
    var dtAr = dtSt[0].split("/");
    var when = new Date(dtAr[1] + "/" + dtAr[0] + "/" + dtAr[2] + " " + dtSt[1]);
    console.log(when);    
    var new = new Date();

    if (when.getTime() - new.getTime() < 900000 && new < when) {
        $(this).addClass('min30');
    } else {
        if (new > when) {
            $(this).addClass('min60');
        }
    }
});
$('.SM\u next\u update')。每个(函数(){
var dtSt=$(this.html().split(“”);
var dtAr=dtSt[0]。拆分(“/”;
var when=新日期(dtAr[1]+“/”+dtAr[0]+“/”+dtAr[2]+“+dtSt[1]);
console.log(何时);
var new=新日期();
if(when.getTime()-new.getTime()<900000&&new何时){
$(this.addClass('min60');
}
}
});

变量名使用了保留字

除此之外,它还可以:

$('.SM_next_update').each(function () {
    var dtSt = $(this).html().split(" ");
    var dtAr = dtSt[0].split("/");
    var when = new Date(dtAr[1] + "/" + dtAr[0] + "/" + dtAr[2] + " " + dtSt[1]);
    console.log(when);    
    var current = new Date();

    if (when.getTime() - current.getTime() < 900000 && current < when) {
        $(this).addClass('min30');
    } else {
        if (current > when) {
            $(this).addClass('min60');
        }
    }
});
$('.SM\u next\u update')。每个(函数(){
var dtSt=$(this.html().split(“”);
var dtAr=dtSt[0]。拆分(“/”;
var when=新日期(dtAr[1]+“/”+dtAr[0]+“/”+dtAr[2]+“+dtSt[1]);
console.log(何时);
var current=新日期();
if(when.getTime()-current.getTime()<900000&¤t何时){
$(this.addClass('min60');
}
}
});

您可以看到一个。

您是否看到了运行时错误的控制台?因为new是一个保留关键字,您将其用作一个可转换的名称,这可能会引发一个错误。如果问题仍然存在,请提供$('.SM_next_update')元素的文本值

  • 将var new更改为其他内容,因为new是一个关键字。var新时间(或现在、当前等)

  • 如果还要添加新类,则应该删除上一个类

    $(this).removeClass('min30').addClass('min60');
    
  • 万一有css冲突,它会让它更干净

  • 改变

    else {
        if (){}
    }
    


  • 它只是干净多了,功能完全一样。这只是语义问题。

    您应该将new更改为newTime,因为new是一个关键字。还有console.log(何时)和console.log(新)的输出是什么?原始问题中有一个文本示例。
    else if (){}