2015-09-16 52 views
0

我的指令是包含通過函數 表達式定義的函數,該函數在頁面打開時在 頁面頂部的h2中顯示當前日期和時間。向h2添加一個id =「dateDisplay」。包括 一個自調用函數,用於更改第一個函數打印的日期文本 的顏色。使用javascript顯示日期

林有點困惑如何完成這一點。我試圖做一個函數表達式來顯示日期,但我什麼都沒有顯示,也沒有錯誤。我試圖做一個正文onload來調用該函數,但這會導致未定義函數的控制檯錯誤。

HTML

<div> 
    <h2 id="dateDisplay"></h2> 
</div> 

的Javascript

var d = new Date(); 
var x = function dateDisplay(){ 
    document.getElementById("dateDisplay").value = d; 
} 

我真的被指令混淆。我想要做什麼才能達到這個目的。

編輯:我有一個錯誤,我的鏈接到我的js文件。現在的問題是我得到控制檯錯誤document.getElementById ...是空天氣我使用innerHTML或值或.innerText

回答

2

您需要調用您的功能,並使用.innerText而不是.value。注意value僅適用於input元素。

var d = new Date(); 
var x = function dateDisplay(){ 
    document.getElementById("dateDisplay").innerText = d; 
} 

x(); 
+0

爲什麼這個工作在jsfiddle,但不是當我上傳到我的服務器?或者在komodo IDE中做一個預覽視圖? – kronis72

+0

@ kronis72確保在加載'dateDisplay'元素後運行JavaScript。 –

+0

我與我的js文件的鏈接有問題,但是您的代碼示例中,我收到一個控制檯錯誤,指出document.getelementbyid爲空 – kronis72

1

您必須使用此代碼:
的Javascript

var d = new Date(); 
var x = function dateDisplay(){ 
document.getElementById("dateDisplay").innerHTML = d; 
} 
x(); 

「顯示的數據」 在HTML中,(在大多數情況下),你會設置一個innerHTML property.after的價值這個變化你必須調用x()函數。
和你在使用dateDisplay元素後加載

+0

雖然這工作在jsfiddle這不起作用,當我在我的服務器上。 – kronis72

1

您還可以使用.innerHTML方法,像這樣:

var d = new Date(); 
var x = function dateDisplay(){ 
    document.getElementById("dateDisplay").innerHTML = d; 
} 
x(); 

你也忘了更直接調用函數x

0

通話功能寧願不是分配給變量函數

var d = new Date(); 
dateDisplay(); 
function dateDisplay(){ 
    document.getElementById("dateDisplay").innerHTML = d; 
}