首页 > 解决方案 > 根据日期显示某些图标的替代方法使用 IF 语句

问题描述

嗨,我有这个工作功能(有一些问题),但我想知道我是否可以改进它或改变它的工作方式

说明:此函数将 div 的文本内容与当前日期进行比较,然后对其执行 if 并根据条件是否满足显示某些图标。

例如,如果今天是 29.2,则 div 的文本内容是 29,我只想在这一天过时才显示图标,所以如果日期是未来或明天,我希望隐藏图标……顺便说一句,我面临的问题这个逻辑是否有效,直到月份切换到新月份,问题是新月份数字就像 1.2.3 小数字,所以图标显示是因为 if 看起来比当天更大而不是更小..

知道如何隐藏它们

前复合溶液

在每个 div 中创建一个隐藏的跨度,它将显示日和月,然后根据月/日而不是仅根据日进行逻辑过滤!太复杂了吧,你有更简单的想法吗?做这项工作。

//hide Task controle (archive Trash) if day is older than today
function hideIcons() {
    // Extermal lets !!! already defined Trash and Archive Array style too !! FIX!!!  
    let divs = document.getElementsByClassName('day-number');
    let trash = document.getElementsByClassName('fa-trash-alt');
    let archive = document.getElementsByClassName('fa-archive');
    let today = new Date();
    let s = today.getDate()
    for (let i = 0; i < divs.length; i++) {
        (() => {
            if (divs[i].textContent >= s) {
                trash[i].style.display = 'none';
                archive[i].style.display = 'none';
            };
        })(i);
    }
};
hideIcons();
<span class="day-number"></span>

标签: javascripthtml

解决方案


推荐阅读