在HTML中插入当前年份

4

我正在使用JavaScript来检测当前年份,然后希望将其插入到HTML中。但是我尝试的代码似乎未定义。

以下是我的代码...

HTML

<p>this year is <span id="year"></span></p>

JavaScript

var date = document.write(new Date().getFullYear());
document.getElementById("year").innerHTML = date;

我可以用jQuery做到这一点,但我想尝试使用纯JavaScript实现,并同时学习。提前感谢。

请注意,这将根据浏览机器上的系统时钟来确定年份,而不一定是服务器认为的年份。 - paul
7个回答

12
确保你的元素已被读取并准备好进行操作: 同时修复你的JS:

<p>Year: <span id="year"></span></p>
        
<!-- JS right before the closing </body> tag -->
<script>
document.querySelector("#year").textContent = new Date().getFullYear();
</script>

请注意,如果计算机时钟不准确,JavaScript 可能不是正确的选择,在这种情况下,您可以从后端获取日期。
如果您使用的是 PHP
<p>Year <span id="year"><?php echo date("Y"); ?></span></p>

简而言之:

<?= date("Y") ?>

4
难道不直接在行内进行操作更简单和高效吗?
<p>this year is <script>document.write(new Date().getFullYear());</script>.</p>

但可能不如Adam的版本易读和可维护。我在考虑本地化。 - tomvodi
正是thomas_b所说的,此外HTML还在一个不允许JavaScript的CMS HTML编辑器中。 - Adam

3
<script>
window.onload = function(){
var date = new Date().getFullYear();
document.getElementById("year").innerHTML = date;
}
</script>
<p>this year is <span id="year"></span></p>

0
var date = (new Date()).getFullYear();

document.getElementById("year").innerHTML = date;

0
问题出在document.write调用上。请尝试这样做:
var date = new Date().getFullYear();
document.getElementById("year").innerHTML = date;

-1

这个Javascript应该可以工作:

var date = (new Date().getFullYear()).toString();
document.getElementById("year").innerHTML = date;

-4
动态显示日期
<%=DateTime.Now.Year %>
<p>&copy;2016 School Apps. All Rights Reserved.</p>

为了动态显示2016,我们使用以下代码:

2
这是否使用了JavaScript解决方案,就像原始问题中所询问的那样?看起来你的答案可能依赖于ASP? - rwp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接