【问题标题】:How to display current time inside a div using JQuery如何使用 JQuery 在 div 中显示当前时间
【发布时间】: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?
  • 看起来只是因为您的getTextdisplay:none - $("#getText").show()
  • 这是您的代码工作正常(没有代码更改),但 id=getText 根本没有隐藏! (所以你可以看到它正在添加日期)jsfiddle.net/m6vzp2j4

标签: html jquery momentjs


【解决方案1】:

我相信您在脚本中使用了 jquery,如果是这样,只需替换

线路:$('#showTime').append(now);

与:$('#showTime').text(now);

使用 vanilla JS 你也可以这样做:

function createDiv(){
    let div = document.createElement('div');
    document.body.appendChild(div);
    var now = moment().format("h:mm:ss A"); 
    let timeNow = document.createTextNode(now);
    $('#showTime').append(timeNow);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    相关资源
    最近更新 更多