问题:如何将每个标题单独转换为ISO8601

我正在尝试利用TimeaGo jQuery库。我用utc字符串填充标题,因此我必须在运行TimeAgo库之前将UTC楼层标题转换为ISO8601,否则SAFARI / FF / IE显示。

jquery

var dateString = $('.timeago').attr('title');
var dateConvert = new Date(dateString);
 $('.timeago').attr('title', dateConvert.toISOString());
.


html

<abbr class="timeago" title="Sun, 30 Jul 2014 15:06:00 -0500"></abbr>
<abbr class="timeago" title="Sun, 30 Jul 2014 14:45:00 -0500"></abbr>
.


结果

<abbr class="timeago" title="2014-07-30T20:06:00.000Z">3 minutes ago</abbr>
<abbr class="timeago" title="2014-07-30T20:06:00.000Z">3 minutes ago</abbr>
.


预期结果

<abbr class="timeago" title="2014-07-30T20:06:00.000Z">3 minutes ago</abbr>
<abbr class="timeago" title="2014-07-30T19:45:00.000Z">24 minutes ago</abbr>
.

有帮助吗?

解决方案

您的代码只抓取第一个世代odicetagcode元素的title属性。

[jQuery的.timeago方法“[get]匹配元素集中的第一个元素的属性的值或[set]每个匹配元素” docs )。

使用 jquery的attr()][1] 方法如果要执行一个在集合中的每个所选元素的操作:

$(".timeago").each(function() {
    var dateString = $(this).attr('title');
    var dateConvert = new Date(dateString);
    $(this).attr('title', dateConvert.toISOString());
});
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top