J查询如何使用momentjs翻译文本日期



我有一堆<p>标签,每个标签里面都有一个日期。现在我想使用momentjs将它们翻译成另一种格式,但它并没有真正起作用。

<div class="container">
<p class="ordered">2018-10-01</p>
<p class="ordered">2018-10-02</p>
<p class="ordered">2018-10-03</p>
</div>

和我的 js 文件:

$(".ordered").each(item => {
let formatted_order_date = moment(item).locale("de").format("Do MMM");
});

这是一个JSFIDDLE

那么,有人可以告诉我这里的问题是什么吗?

示例中的项目不是日期字符串,而是索引。
每个回调有两个参数:索引和项目(作为第二个(:each((i,item) ...
然后,该项目是完整的 html 元素,因此我们需要从中获取"值"(内部 html(:$(item).html()

$(".is-ordered").each((i,item) => {
// console.log($(item).html());
let datestring = $(item).html();
let formatted_order_date = new moment(datestring)
.locale("de")
.format("Do MMM");
console.log(formatted_order_date); // 3rd Oct
});

不要使用item,请尝试使用$(this)

$(".ordered").each(() => {
const formatted_order_date = moment($(this).text().trim()).locale("de").format("Do MMM");
$(this).text(formatted_order_date);
});

最新更新