2014-05-16 44 views
1

IE中存在一些問題(我們不是全部)。。IE中的文本更新問題

我追蹤了一個問題,我不得不更新推文時間戳的遞歸腳本。

該腳本工作正常,發現所有的日期/時間戳將被更新,轉換他們罰款,但當涉及到更新'時間'div它失敗。 IE與$('#id').text('value')沒有問題,但我顯然做錯了。 有什麼建議嗎?

function parseTwitterDate() { 
    var timeToAdjust 
    $('a[data-scribe="element:full_timestamp"]').each(function() { 
     timeToAdjust = $(this).find('time') 
     var b = timeToAdjust.attr('datetime').split(/[-t:+]/ig); 
     //funky stuff here to generate strTime 
     timeToAdjust.text(strTime) 
    }); 
} 

這工作正常,在其他瀏覽器然而,在至少IE8(關於和6,但不擔心),它得到timeToAdjust.text(strTime)和失敗。 請注意,沒有抓住'datetime'屬性timeToAdjust.attr('datetime')的問題。

試過.html()$(this).find('time').text(strTime)

非常感謝您抽出寶貴看看hopfully有人能指出我在正確的方向。

賈斯汀

+0

你正在使用哪個版本的jQuery? –

+2

*「...它得到'timeToAdjust.text(strTime)'並且失敗......」*失敗*如何*?你在開發工具中看到什麼錯誤? –

+1

@GrzegorzAdamKowalski:爲什麼這很重要?上面所有的調用都在jQuery 1.0中,不是嗎? –

回答

2

IE8和更早版本需要特殊的措施,以確保他們正確理解新的HTML5元素的類型是元素。那裏有一些小腳本(like this one),它們可以幫助你。

如果沒有做這項工作,那些元素的很多方面將無法工作,即使只是IE8和更早版本中的普通元素。

This JSBin of your code(的jsfiddle不與IE8工作)失敗,但this one with a shim作品。

+1

謝謝TJ我應該看到 - 踢自己一點;-) – JustinReid

+0

@JustinReid:這是一個*迷人的*症狀,不是嗎?您可以選擇元素,從中獲取屬性,但不能對其執行「appendChild」。呵呵。 (我猜IE不知道這些節點是否可以生孩子,直到我們告訴它......) –

+0

這有點奇怪,至少我們知道未來,我希望不會再犯這樣的菜鳥錯誤;-) – JustinReid