1
我在頁面中有一堆時間戳,我希望Javascript將其轉換爲用戶的本地時區。在我的模板中,我將ISO格式的時間戳放入特殊的跨度類中,並且要遍歷每個跨度進行轉換。這裏是我的代碼:使用jQuery從各自的值更新多個span文本
$('.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)
但跨度的文本不會實際更新。思考?謝謝!
[最終編輯]
在設置跨度文本時,需要在Date對象後添加一個.toString()。
謝謝,我想通了這一點,你發佈你的答案之後,但我還是遇到了一些麻煩。你能看看我的編輯? – Joseph
看起來我只需要一個.toString()就可以了。謝謝你的幫助! – Joseph
@Joseph是的,的確如此:'.toString()'將對象的字符串值返回給元素內容。 – VisioN