我试图使用Moments.js库从每个时间标记中获取datetime属性的值,并使用自然语言输出时间。
鉴于这种:
<time datetime="2014-06-27"></time>
结果将是:
<time datetime="2014-06-11">17 hours ago</time>
使用这个:
$(document).ready(function(){
var time = $('time'),
date = moment(time.attr('datetime')),
update = function(){
time.html(date.fromNow());
};
update();
});
它有效,但仅适用于第一次。所有其他时间要素也都说“ 17小时前”。
我猜测该函数仅在第一个时间实例上运行一次。
我怎样才能确保每个程序都在运行,并且效率很高?
您需要遍历所有时间标记。现在,您仅将其应用于的第一个实例<time>
。使用jQuery .each()
。
$(document).ready(function(){
var time = $('time');
time.each(function() {
date = moment($(this).attr('datetime'));
$(this).html(date.fromNow());
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句