tas*_*ast 3 javascript jquery momentjs
第一次发帖.所以我必须在一个看起来像这样的元素中格式化一些文本
<div class="entry-time">
2012-05-30T20:11:06+00:00
</div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用moment.js将其格式化为更具可读性的内容.我只能用javascript从前端做到这一点.我写了一个看起来像这样的函数.
$(document).ready(function() {
function formatDate(date) {
formattedDate = date.text();
var d = moment(formattedDate, "YYYY-MM-DDTHH:mm:ss");
$(date).html( d.format("dddd, MMMM Do YYYY, h:mm:ss a"));
};
formatDate($('.entry-date'));
});
Run Code Online (Sandbox Code Playgroud)
这有效,如果有一个元素,但是当有多个元素时,它会将所有内容格式化为一个日期.我知道这与jQuery拉入一系列元素有关,但我不知道如何使用entry-date类对每个元素做了什么.
有人可以帮忙吗?先感谢您.
小智 6
错误的核心是jQuery .text()方法获取"匹配元素集合中每个元素的组合文本内容,包括它们的后代"(api.jquery.com/text),而不是迭代集合你想要的元素.
这样的东西应该工作,将函数传递给jQuery .html()setter方法:
$(".entry-date").html(function(index, value) {
return moment(value, "YYYY-MM-DDTHH:mm:ss").format("dddd, MMMM Do YYYY, h:mm:ss a");
});
Run Code Online (Sandbox Code Playgroud)