Javascript按大于的日期设置类
若日期大于,那个么在表td上设置css类的脚本有问题。脚本只在今天工作,如果。如果td中的日期小于周且大于周,则其余ifs应设置课程Javascript按大于的日期设置类,javascript,jquery,css,date,Javascript,Jquery,Css,Date,若日期大于,那个么在表td上设置css类的脚本有问题。脚本只在今天工作,如果。如果td中的日期小于周且大于周,则其余ifs应设置课程 $('td:nth-child(7) ').each(function() { var today = new Date(); var week = new Date(); var dd = today.getDate(); var ddd = today.getDate()+7;
$('td:nth-child(7) ').each(function() {
var today = new Date();
var week = new Date();
var dd = today.getDate();
var ddd = today.getDate()+7;
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10) {
dd = '0'+dd
}
if(mm<10) {
mm = '0'+mm
}
today = dd + '/' + mm + '/' + yyyy;
if ($(this).text() == today) {
$(this).closest("td").addClass("red");
}
if ($(this).text() < today + 7 && $(this).text() != today ) {
$(this).closest("td").addClass("yellow");
}
if ($(this).text() > today + 7) {
$(this).closest("td").addClass("green");
}
});
$('td:nth child(7)')。每个(函数(){
var today=新日期();
var week=新日期();
var dd=today.getDate();
var ddd=today.getDate()+7;
var mm=today.getMonth()+1;
var yyyy=today.getFullYear();
如果(dd尝试以下方法
var displayedDate = new Date($(this).text());
var today = new Date();
if (displayedDate > today.setDate(today.getDate() + 7) {
// here displayed date is posterior to today + 7 days
}
您正在比较字符串,而不是日期。您应该将单元格中的日期转换为字符串
在比较日期相等性时,应使用valueOf()
来避免参考比较
下面是一个工作示例:
$('td')。每个(函数(){
var today=新日期();
今天,设定时间(0,0,0,0);
var nextWeek=新日期(今天);
nextWeek.setDate(nextWeek.getDate()+7);
var cellDateParts=$(this.text().split(“/”);
var cellDate=新日期(cellDateParts[2],parseInt(cellDateParts[1])-1,cellDateParts[0]);
如果(cellDate.valueOf()==today.valueOf()){
$(此).td.addClass(“红色”);
}否则如果(cellDatenextWeek){
$(此).td.addClass(“绿色”);
}
});
.red{
背景:红色;
}
黄先生{
背景:黄色;
}
格林先生{
背景:绿色;
}
07/07/2017
07/08/2017
23/07/2017
您可以添加一些html代码吗?尝试对今天的文本使用其他变量(可能是今天的文本
),现在记录今天+7
,看看它是您想要的日期还是字符串