我有一堆<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
那么,有人可以告诉我这里是什么问题吗?
答案 0 :(得分:1)
项目不是日期字符串,而是索引。
每个回调都有两个参数:索引和项目(第二个):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
});
答案 1 :(得分:1)
请尝试使用item
,而不要使用$(this)
。
$(".ordered").each(() => {
const formatted_order_date = moment($(this).text().trim()).locale("de").format("Do MMM");
$(this).text(formatted_order_date);
});