2013-06-21 41 views
0

從標籤中獲取價值,我有以下HTML標籤:無法在Safari

< TD類= 「摘要」 ID = 「nextday」 值= 「2013年6月21日」> NextDay:2013/06/21 </TD>

,並在我的JS如下:

var elem = document.getElementById('nextday'); 
console.log(elem); 
console.log(elem.id); 
console.log(elem.value); 

在IE中這似乎工作的偉大,我得到下面的輸出:

[對象]

nextday

2013年6月21日

但是當我運行在Safari相同的代碼(使用Windows 7 PC),我得到以下代替:

< td class="summary" id="nextday" value="2013/06/21"> NextDay: 2013/06/21 < /td> 

nextday

未定義

爲什麼它在Safari比IE表現不同,什麼正確的做法應該是,如果我想同時支持瀏覽器,並能夠得到來自標籤的nextday值有什麼建議?謝謝。

編輯以反映'nextday'確實被引號包圍。

+0

不應該'getElementById(nextday);'被括在引號中'getElementById('nextday');' –

回答

0

首先你的js應該在頁面加載後工作。第二件事情是你應該改變:

var elem = document.getElementById(nextday); 

var elem = document.getElementById("nextday"); 

而在其他瀏覽器再試也導致應該是相似的。

+0

你可以在http://jsfiddle.net/中做出明智的例子嗎? – Khamidulla

+0

我創建了以下內容:http://jsfiddle.net/3NfCt/6/ 在我的原始頁面中,似乎還有其他東西使IE功能不同,因爲console.log(elem.value)在所有3個瀏覽器中顯示爲undefined (Chrome,IE,Safari)。提取價值信息的正確方法是什麼?看起來好像不是這樣?謝謝。 – user1177054

+0

感謝您關注此問題。看來我應該只是使用getAttribute('value'),並且工作。出於某種原因jQuery沒有工作,所以任何建議,爲什麼這可能會很好。 – user1177054