javascript - 分别使用 jQuery 从各自的值更新多个跨度文本

标签 javascript jquery date

我的页面中有一堆时间戳,我希望 Javascript 将其转换为用户的本地时区。在我的模板中,我将 ISO 格式的时间戳放入一个特殊的跨度类中,并希望遍历每个跨度以进行转换。这是我的代码:

$('.tzdate').each( function(){
    $(this).text( Date( $(this).val() ) );
  });

转换工作完美。唯一的问题是每个跨度都更新为相同的值。我认为在 $.each() 中使用 $(this) 会起作用,但它似乎在 Chrome 或 Firefox 中都不起作用。

有什么建议吗?

[编辑]
VisioN 的回答让我开始了,因为它现在实际上是在进行日期转换,而不仅仅是在脚本运行时使用时间戳。现在的问题是将文本设置为日期似乎不起作用。一些更新的代码:

$( ".tzdate" ).each(function( index ) {
  console.log( index + ": " + $(this).text() );
  console.log( index + ": " + new Date( $(this).text() ) );
  var a = new Date( $(this).text() )
  $(this).text ( a ) 
});

输出:

0: 2013-01-24T18:42:21
0: Thu Jan 24 2013 13:42:21 GMT-0500 (EST)
1: 2013-01-24T18:35:08
1: Thu Jan 24 2013 13:35:08 GMT-0500 (EST)
2: 2013-01-24T18:42:21
2: Thu Jan 24 2013 13:42:21 GMT-0500 (EST)
3: 2013-01-24T18:40:27
3: Thu Jan 24 2013 13:40:27 GMT-0500 (EST)

但 span 的文本实际上并没有更新。想法?谢谢!

[最终编辑]
设置跨度的文本时,需要在 Date 对象之后使用 .toString()。

最佳答案

您忘记了 new关键字。

它将从 ISO 日期字符串创建一个新的 Date 对象,并将解决问题:

$(this).text( new Date( this.value ).toString() );

关于javascript - 分别使用 jQuery 从各自的值更新多个跨度文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508621/

相关文章:

JavaScript 转换日期

javascript - JS : css property and value in one variable

javascript - 每次提交表单时 jQuery 都会清除数据

javascript - 在运行时有问题的附加项上添加内联样式

javascript - 追加不适用于将文本追加到元素

php - 为 DateTime 准备 PHP 代码

SQL查询可预订房间

javascript - Vue 组件不会在新的 $router.push 上重新渲染

javascript - seTtimeout 为零秒

javascript - Node js 身份验证后 req.用户名和密码未定义