首页 > 解决方案 > Moment.js 不适用于动态加载的元素

问题描述

我正在使用moment.js进行本地时间格式化。最初加载的元素可以正常工作,但是当通过 ajax 加载元素时,时间格式(moment.js)不起作用。

我的 moment.js 初始化代码:

$(function () {
    var htmlLang = $('html')[0].lang;
    moment.locale(htmlLang);
    $( "[data-time-format]" ).each(function() {
        var el = $( this );
        switch(el.attr("data-time-format")) {
            case "time-ago":
                var timeValue = el.attr("data-time-value");
                var timeAgoStr = moment.utc(timeValue).fromNow();
                el.text(timeAgoStr);
                break;
        }
    });
});

我的 ajax 加载器看起来像:

$.ajax({
        url: "/path/loadData.php",
        type: "POST",
        data: { jsondata:jsondata },
        dataType: "html",
        success: function(response) {
          $("container").append(response);
          //I guess I have to reinitialize moment.js
        },
        error: function() {
          alert("Data not loaded.");
        }
      });

标签: javascriptjquerymomentjs

解决方案


推荐阅读