我正在测试一些时间格式化系统(例如 Twitter 自在推文旁边发布以来就有一个时间),因此我设置了一个准系统 HTML 页面来运行我的 javascript,但是输出没有显示在我的 div 中。为什么会发生这种情况?如有任何帮助,我们将不胜感激!
页面:
<html>
<head>
<title>Testing</title>
</head>
<body>
<div id="app">
<script>
var app = require('ago');
#('app').innerHTML = timeSince(old_date);
</script>
</div>
</body>
</html>
脚本:
var old_date = new Date("November 13, 2017 5:00 PM");
function #(sel) {
return document.getElementById(sel);
}
function timeSince(post_minute) {
var seconds = Math.floor((new Date() - post_minute) / 1000);
var interval = Math.floor(seconds / 31536000);
if (interval > 1) {
return interval + "y";
}
interval = Math.floor(seconds / 2592000);
if (interval > 1) {
return interval + "mo.";
}
interval = Math.floor(seconds / 86400);
if (interval > 1) {
return interval + "d";
}
interval = Math.floor(seconds / 3600);
if (interval > 1) {
return interval + "h";
}
interval = Math.floor(seconds / 60);
if (interval > 1) {
return interval + "m";
}
return Math.floor(seconds) + " seconds";
}
最佳答案
# 不是 JavaScript 中的有效标识符。阅读 this回答以了解什么是有效标识符。
示例片段:
var old_date = new Date("November 13, 2017 5:00 PM");
$('app').innerHTML = timeSince(old_date);
function $(sel) {
return document.getElementById(sel);
}
function timeSince(post_minute) {
var seconds = Math.floor((new Date() - post_minute) / 1000);
var interval = Math.floor(seconds / 31536000);
if (interval > 1) {
return interval + "y";
}
interval = Math.floor(seconds / 2592000);
if (interval > 1) {
return interval + "mo.";
}
interval = Math.floor(seconds / 86400);
if (interval > 1) {
return interval + "d";
}
interval = Math.floor(seconds / 3600);
if (interval > 1) {
return interval + "h";
}
interval = Math.floor(seconds / 60);
if (interval > 1) {
return interval + "m";
}
return Math.floor(seconds) + " seconds";
}
<div id="app">
</div>
关于javascript - 为什么我的输出没有显示在我的 div 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42335951/