Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 突出显示过去的日期和未来两周内到期的日期_Javascript_Php_Jquery_Css - Fatal编程技术网

Javascript 突出显示过去的日期和未来两周内到期的日期

Javascript 突出显示过去的日期和未来两周内到期的日期,javascript,php,jquery,css,Javascript,Php,Jquery,Css,我正在与一些代码斗争一段时间,现在我无法解决它。我有一个纯html格式的表格。这个html文件每天发送给我,html文件中的日期每天都在更新 它有一个表结构。货架上的编号、说明和产品过期日期: <table> <tr><td>1</td><td>coca cola</td><td>2014-08-17</td></tr> <tr><td>2</

我正在与一些代码斗争一段时间,现在我无法解决它。我有一个纯html格式的表格。这个html文件每天发送给我,html文件中的日期每天都在更新

它有一个表结构。货架上的编号、说明和产品过期日期:

<table>
    <tr><td>1</td><td>coca cola</td><td>2014-08-17</td></tr>
    <tr><td>2</td><td>bread</td><td>2014-02-13</td></tr>
    <tr><td>3</td><td>apple</td><td>2014-01-20</td></tr>
    <tr><td>4</td><td>cookies</td><td>2014-04-03</td></tr>
</table>
CSS

<style type="text/css">
    .red { 
        color : #f00; 
    }
    .orange { 
        color : #ffa500; 
    }
</style>

红色{
颜色:#f00;
}
橙色{
颜色:#ffa500;
}
但这不起作用。。。所有的枣子都是红色的,也都是彩色的。。。。有人能帮我吗。我正在努力修复这4天了

试试这个:)请按我需要的分数打。谢谢:)
$date_to_compare = "2014/02/08";
$dateNow = new DateTime("now");
$dateCompare = new DateTime($date_to_compare);
$difference = $dateNow->diff($dateCompare);

$highlight_css_class = '';

if ($difference->invert) 
    $highlight_css_class = 'orange';
elseif ($difference->days <= 14) 
    $highlight_css_class = 'red';
}
echo $highlight_css_class;
?>
$date\u to\u compare=“2014/02/08”;
$dateNow=新日期时间(“现在”);
$dateCompare=新日期时间($date\u to\u compare);
$difference=$dateNow->diff($dateCompare);
$highlight_css_class='';
如果($difference->invert)
$highlight_css_class='orange';
其他($差异->天)

此JS将从您的tr标签中每隔三个孩子中挑选一个,按破折号将日期拆分为一个数组,将该数组用作日期,计算出该日期与当前日期之间的时间差(以天为单位),然后应用您的颜色样式

var parents=document.getElementsByTagName(“tr”)
对于(变量i=0,ii=parents.length;i否则,如果(不同的是现在你自己问题的四个副本中的一个,请立即停止。哦,我的thx终于有人帮助我了。工作很有魅力:)@user3090697请删除你的这个问题的副本,以合并其他寻求类似解决方案的人。
<style type="text/css">
    .red { 
        color : #f00; 
    }
    .orange { 
        color : #ffa500; 
    }
</style>
$date_to_compare = "2014/02/08";
$dateNow = new DateTime("now");
$dateCompare = new DateTime($date_to_compare);
$difference = $dateNow->diff($dateCompare);

$highlight_css_class = '';

if ($difference->invert) 
    $highlight_css_class = 'orange';
elseif ($difference->days <= 14) 
    $highlight_css_class = 'red';
}
echo $highlight_css_class;
?>
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);
        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 = "#ffa500";
        }
        else if (diffInDays <= 14) {
            elem.style.color = "#ff0000";
        }
    }
} }