【问题标题】:Display Date separated into day - month - year and combinations of显示日期分为日-月-年和组合
【发布时间】:2020-05-09 11:40:32
【问题描述】:

我正在尝试在我的 html 页面中使用当前月份、年份、月份-年份和日期-月份。

这是我正在使用的 javascript

var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var n = new Date();
var y = n.getFullYear();
var m = n.getMonth();
var d = n.getDate();
document.getElementById("date").innerHTML = d + " " + months[m] + " " + y;
document.getElementById("month-year").innerHTML =  months[m] + " " + y;
document.getElementById("day-month").innerHTML = d + " " + months[m];
document.getElementById("year").innerHTML = y;
document.getElementById("month").innerHTML = months[m];
document.getElementById("day").innerHTML = d;

我使用html的<a>标签来调用日期、月份、年份等,如下

<a id="date"></a>
<a id="month-year"></a>
<a id="day-month"></a>
<a id="year"></a>
<a id="month"></a>
<a id="day"></a>

但是,只有当我在页面中的某处使用&lt;a id="date"&gt;&lt;/a&gt; 时它才有效,如果我不使用&lt;a id="date"&gt;&lt;/a&gt;,那么其他标签都不起作用。

我创建了一个jsfiddle 来突出问题。如果您从 Html 部分中删除 &lt;a id="date"&gt;&lt;/a&gt;,您将看到我所指的问题。


感谢下面的回答

完整代码见jsfiddle

【问题讨论】:

    标签: javascript html date


    【解决方案1】:

    这是因为你的 javascript 由于 null 对象而中断

    document.getElementById("date").innerHTML = d + " " + months[m] + " " + y;
    

    你应该在设置innerHTML之前检查它是否存在。例如:

    var dateObject = document.getElementById("date");
    if (dateObject) dateObject.innerHTML = d + " " + months[m] + " " + y;
    

    【讨论】:

    • 谢谢,那么整个 js 会是什么样子呢?很抱歉我对js不太熟悉。
    • 您只需对其他对象使用相同的模式。例如,下一个将是:var month_year = document.getElementById("month-year"); if (month_year) month_year.innerHTML = months[m] + " " + y; 只是重复相同的逻辑,您应该能够自己复制它。如果您仍然有问题,您可以返回您的最终代码。
    • 但是,当我在同一个页面上两次使用ID时,第二个实例不起作用,如何在同一个页面上多次使用ID?例如,如果我使用 两次,则第二个实例不起作用/显示。
    • 你永远不应该使用一个 ID 两次,一个 ID 是唯一的。你应该改用类。
    • 我该怎么做?
    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多