2016-02-21 60 views
0

我無法讓我的代碼識別特定的行並告訴我它的長度。當我運行這個,它返回「未定義」 理想情況下,我希望能夠調用特定行中的特定單元格,以便將每個單元格中的日期編號放在一起,但現在我只是試圖返回該行。我的代碼有什麼問題?我想查找特定行的行長度

document.getElementById("Show Calendar").addEventListener('click',  function calendarMaker() 
{ 

    var table = document.getElementById("Calendar"); 
    var date = new Date(); 
    var currentMonth = date.getMonth(); 
    var currentDay = date.getDay(); 

    var months = ["January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; 

var days =["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; 

var row =0; 

var cell =0; 

    for(var i=0; i<6;i++) 
{ 
    row = table.insertRow(i); 

for(var a=0; a<7;a++) 
{ 
    cell = row.insertCell(a); 

    cell.contentEditable = true; 

    for(b=0;b<7;b++) 
    { 
     if(i===0 &&a==b) 
     { 
     cell.innerHTML = days[b]; 

    } 
    } 
} 
} 



var x = document.getElementById("Calendar").rows[0].length; 
document.getElementById("rowCount").innerHTML = x; 




}); 
+0

你不能在你的ID中使用空格。因此'document.getElementById(「Show Calendar」)'沒有意義。改爲「showCalendar」或類似的(當然也用HTML)。 –

+0

也許你的意思是'rows.length'(表中的行數)或'rows [0] .cells.length'(行0中的單元數) –

+0

@BramVanroy - 空格在ID中有效 - 不推薦使用CSS和querySelector各種難點 –

回答

0

如果您注意,x是未定義的。您嘗試訪問第一行的長度時鍵入

var x = document.getElementById("Calendar").rows[0].length; 

這是因爲您正在訪問第一行的長度。

相反,你應該使用

var x = document.getElementById("Calendar").rows.length; 

然後,您可以訪問每個細胞行像下面

var x = document.getElementById("Calendar").rows.length; 
    for (var i = 0; i < x; i++) { 
    var row = document.getElementById("Calendar").rows.item(i); 
    for (var j = 0; j < row.cells.length; j++) { 
     var col = row.cells.item(j); 
     col.innerText = i * j; 
    } 
    } 

見工作fiddle