javascript - 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.");
}
});
解决方案
推荐阅读
- r - 如何创建两个具有相同名称但一个使用大写字母而另一个使用小写字母的不同 CSV 文件
- android - 如何在android中获取LTE的E-UTRAN值?
- spring-boot - Spring Cloud Stream Kafka 重试 10 次 maxAttempts
- c# - 我应该每次都创建一个新的 IServiceHubContext 实例(使用 CreateHubContextAsync)还是记住并重用?
- python - 使用 scipy.cluster.hierarchy monocrit 标准仅平整特定树
- apache-spark - Spark 基于列应用模型
- javascript - 如何使用纯 Javascript 获取动态创建的元素?
- python - QSystemTrayIcon 不显示 qasync 和 aiohttp
- navigation - 来自智能手机上的 HERE 应用程序的实时导航说明
- spring-boot - Dockerfile - 在 ENTRYPOINT 中使用 ARG 不起作用