javascript - 表格日期在 Firefox 中显示颜色,但在 IE 中不显示

标签 javascript internet-explorer

此代码非常适合为过去的日期和从现在起两周内的日期着色。但只能在 Firefox 中而不是在 IE 中,我可以调整代码以便它也可以在 IE 中运行吗?它与 elem.style.color 的渲染有关

正在工作js fiddle

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 = "#996600";
            }
            else if (diffInDays <= 14) {
                elem.style.color = "#e50005 ";
            }
        }
    }
}

最佳答案

问题在于 Internet Explorer 的日期格式无效。

这是更新的Jsfiddle这也适用于 IE。在 IE 中的 Date 构造函数中使用数组会导致日期无效。另请参阅这个问题Passing an array to the Javascript Date constructor, is it standard?

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 = "#ffa500";
            }
            else if (diffInDays <= 14) {
                elem.style.color = "#ff0000";
            }
        }
    }
}

关于javascript - 表格日期在 Firefox 中显示颜色,但在 IE 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21648253/

相关文章:

javascript - 绑定(bind)多个点击事件的更短语法 - javascript

css - Font Squirrel 生成的字体未在 Internet Explorer 中加载

html - 为什么在 iFrame 中加载的网页在 Internet Explorer 7 中没有应用 css

html - Internet Explorer Quirks 模式下的 Iframe 不会以 100% 宽度呈现

javascript - IE 8 浏览器不支持换行符 "\n"

html - IE 的 CSS 剪辑路径替换

javascript - 如何根据行单元格值隐藏/显示表格列?

javascript - 下拉分组 - 避免选择父项

javascript - 使用 ajax 无限滚动不适用于 Chrome

javascript - 填充条形图中的顶部