2016-01-13 57 views
-3

這是功能。我包含來自Google CDN的Jquery庫,它位於此腳本之前。 {

$(document).ready(function() { 

    function displayTime() { 
    var currentTime = new Date(); 
    var hours = currentTime.getHours(); 
    var minutes = currentTime.getMinutes(); 
    var seconds = currentTime.getSeconds(); 

    // This gets a "handle" to the clock div in our HTML 
    //This does not work??? 
    var clockDiv = $(document).getElementById('clock'); 
    //This works though 
    var clockDiv = document.getElementById('clock'); 

    // Then we set the text inside the clock div 
    // to the hours, minutes, and seconds of the current time 
    clockDiv.innerText = hours + ":" + minutes + ":" + seconds; 
    } 

    // This runs the displayTime function the first time 
    displayTime(); 

}); 

}

+5

因爲jQuery沒有getElementById方法...... ?????????? –

+0

$(document).'返回一個jQuery對象,其中'getElementById'是'document'對象的一個​​方法 –

+0

在jQuery中,您可以使用id選擇器來獲取對象'var clockDiv = $('#clock ');'then'clockDiv.text(hours +「:」+ minutes +「:」+ seconds);' –

回答

0

因爲jQuery不同返回文檔的信息。如果我沒有記錯它必須是:

$(document)[0].getElementById('clock'); 
+3

真的嗎?爲什麼有人可能想這樣做,使用'var clockDiv = $('#clock')[0];' –

+0

我不知道 - 我認爲你的答案更好。 :-)但它確實回答了這個問題。 –

+0

聲明*「jQuery不同地返回文檔信息」*根本沒有意義。 '$(document)[0]'仍然返回文檔' – charlietfl

3

正如其他人所說,你將只使用Web API與jQuery的文檔,你會改用選擇來實現相同的功能。正如阿倫P激發態,你會做

var clockDiv = $('#clock'); // select the div with an ID of clock 
clockDiv.text(/* your text */); // set the text of the selected element to the passed argument 

jQuery是一個庫摘要該Web API,以幫助跨瀏覽器的兼容性問題,並通常使導航和操作DOM更容易一點。

1
to set text in a div 

$('#clock').text('some text');