2010-10-29 5 views
0

У меня есть этот код в JavaScript, чтобы показать время в ДИВ и обновить его:Как обновить содержимое DIV в Firefox с помощью Javascript?

if (!document.all) 
    return 

    var Digital=new Date() 
    var hours=Digital.getHours() 
    var minutes=Digital.getMinutes() 
    var seconds=Digital.getSeconds() 
    var dn="AM" 

    if (hours>12){ 
    dn="PM" 
    hours=hours-12 
    } 

    if (hours==0) 
    hours=12 

    if (minutes<=9) 
    minutes="0"+minutes 

    if (seconds<=9) 
    seconds="0"+seconds 
    var ctime=hours+":"+minutes+":"+seconds 
    $("#c").text(ctime); 

    setTimeout("show2()",1000) 
} 

window.onload=show2 

и у меня есть этот DIV:

<div id=""c></div> 

в IE каждая вещь в порядке, но когда я пытаюсь его в Firefox , это не работает.

Я также попытался использовать

c.innerHTML=ctime 

и это не работает.

Каков правильный способ сделать это как в IE, так и в Firefox?

Благодаря

+0

Очевидный вопрос, но у вас есть право на JS? –

ответ

3

Это - первая линия

if (!document.all) 
    return 

так как свойство all существует только в Explorer и Opera.

Вы запрещаете другим браузерам продолжать выполнение кода

2

Попробуйте <div id="c"></div> и document.getElementById('c').innerHTML = ctime;

и избавиться от if (!document.all) return

+0

Если это $ ("# c") является JQuery, я думаю. И он разрешает document.getElementById ('c'). – RichN

+0

Это помечено jQuery, так что должно быть jQuery :) – Onkelborg

+0

Btw, innerHTML более опасен, чем установка текста, так как innerHTML ничего не скрывает – Onkelborg

1

Удалить

if (!document.all) 
    return 

поскольку document.all является только IE расширение, и FireFox не поддерживает его

Смежные вопросы