2010-11-19 43 views
0

基本上,我有一個div,用innerHTML插入內容。插入的HTML片段是:修改使用innerHTML創建的元素的innerHTML

<p style="text-align:center;"><span class="bold" id="timer">00:00:00:0</span></p> 

這是一個計時器,它應該使用setTimeout遞增。後來,我調用下面的函數來修改定時器模塊:

document.getElementById("timer").innerHTML = output; 

當檢查與螢火蟲或警報innerHTML屬性,跨度元素的innerHTML被遞增(例如,它會說「00:00:10 :6「或」00:01:01:4「)。但是,該頁面並未反映這些更改;瀏覽器仍顯示00:00:00:0。

我試着直接在頁面上放置span,而不是通過使用innerHTML修改div,然後才能工作。無論如何,使它與div上的innerHTML一起工作嗎?

編輯:該網頁是----- 嘗試使用Firebug或Chrome的控制檯來檢查如下:

document.getElementById('bunny-timer').innerHTML 

編輯2:URL中移除。

+0

對我來說只適用於使用innerHTML使用FF 3.6 – re5et 2010-11-19 04:03:51

回答

1

沒有看到代碼,我最好的猜測是你意外地創建了重複的id,而你看到的元素與你正在檢查的元素不同。

+0

根據Firebug,我沒有任何重複的頁面上的ID。 – Steve 2010-11-19 04:32:35

+0

我的歉意,你是對的。 ID的另一個元素是隱藏的,所以我看不到它。 – Steve 2010-11-19 05:59:09

0

看這個:http://plugins.jquery.com/project/timers。由於您已經使用了jQuery,所以爲什麼不玩他們的定時器功能?它們看起來很完美。

+0

謝謝,這絕對有用,但我不認爲計時器是真正的問題。我認爲它與DOM無法識別span元素有關。 – Steve 2010-11-19 04:23:42

+0

什麼建議他使用jQuery?如果他一直使用它,getelementbyId將是第一件事。我同意它的一個好主意tho – 2010-11-19 05:43:45