我有一个javascript,用于为表格中的所有日期(从今天的日期开始)着色,这些日期已经过去的绿色,以及将在两周内过期的日期。一切都很好。
var parents = document.getElementsByTagName("tr")
for (var i = 0, ii = parents.length; i < ii; i++) {
var parent = parents[i],
children = parent.children
for (var j = 0, jj = children.length; j < jj; j++) {
var elem = children[j]
if (j % 3 === 2) {
var dateElement = elem.innerHTML;
var dateArray = dateElement.split("-");
var prevTime = new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
var thisTime = new Date();
var diff = prevTime.getTime() - thisTime.getTime();
var days = 1000*60*60*24;
var diffInDays = Math.ceil(diff / days);
if (diffInDays < 0) {
elem.style.color = "#008000";
}
else if (diffInDays <= 14) {
elem.style.color = "#ff0000";
}
}
}
}
但是当我删除到期或过期的产品时,日期变为毛坯 我怎么能将所有的日期颜色设置为紫色,并且仍然是其他日期的绿色和红色?
答案 0 :(得分:1)
如果我找到了你,那么最快捷的方法就是只为我们添加一个支票,而不会看到你的标记很难说明
var parents = document.getElementsByTagName("tr")
for (var i = 0, ii = parents.length; i < ii; i++) {
var parent = parents[i],
children = parent.children
for (var j = 0, jj = children.length; j < jj; j++) {
var elem = children[j]
if (j % 3 === 2) {
var dateElement = elem.innerHTML;
var dateArray = dateElement.split("-");
var prevTime = new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
var thisTime = new Date();
var diff = prevTime.getTime() - thisTime.getTime();
var days = 1000*60*60*24;
var diffInDays = Math.ceil(diff / days);
if(dateElement === "0000-00-00"){
elem.style.color = "purple";
}else if (diffInDays < 0) {
elem.style.color = "#008000";
}
else if (diffInDays <= 14) {
elem.style.color = "#ff0000";
}
}
}
}
答案 1 :(得分:0)
你尝试过这样的事吗?
function colorDate(){
var parents = document.getElementsByTagName("tr")
for (var i = 0, ii = parents.length; i < ii; i++) {
var parent = parents[i],
children = parent.children
for (var j = 0, jj = children.length; j < jj; j++) {
var elem = children[j]
if (j % 3 === 2) {
var dateElement = elem.innerHTML;
var dateArray = dateElement.split("-");
var prevTime = new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
var thisTime = new Date();
var diff = prevTime.getTime() - thisTime.getTime();
var days = 1000*60*60*24;
var diffInDays = Math.ceil(diff / days);
if (diffInDays < 0) {
elem.style.color = "#008000";
}
else if (diffInDays <= 14) {
elem.style.color = "#ff0000";
}
if(dateElement=="0000-00-00"){
elem.style.color = "your color";
}
}
}
}
}
colorDate();
并在删除函数中调用colorDate()!