【发布时间】:2021-08-01 21:59:47
【问题描述】:
我每次点击按钮时都需要显示当前时间,我已经实现了点击按钮时创建新div的DOM,但是我没有得到span内的时间。
HTML
<button onClick="createDiv()">Record Time</button>
<div id="getText" style="display: none;">
<span id="showTime"></span>
</div>
脚本
function createDiv()
{
let div = document.createElement('div');
document.body.appendChild(div);
var now = moment().format("h:mm:ss A");
$('#showTime').append(now);
}
如上面的代码,当前时间应该显示在每个新的div上。
【问题讨论】:
-
您将 div 附加到正文。然后将文本附加到
showTime。改用.text(now)并忘记 div -
您已经将
div作为变量,无需再选择不同的div/span:let div =...div.innerText = now -
div id=getText/span id=showTime究竟是什么意思?如果你要添加一个新的 div,你就不需要这个。你想要一个显示时间的 single div 吗?还是每次单击时都会创建一个新的 div(例如单击列表/记录)?看起来人们对您的 getText/showTime html 感到困惑。然而您的问题是“我可以创建 div,但不能在跨度内获得它* - 那么为什么要创建 div? -
看起来只是因为您的
getText是display:none-$("#getText").show() -
这是您的代码工作正常(没有代码更改),但
id=getText根本没有隐藏! (所以你可以看到它正在添加日期)jsfiddle.net/m6vzp2j4