2013-10-22 24 views
-1

它是有線的!有一個外部的JS文件,我從.aspx頁面調用一個函數,它會得到選定的內容,並標識<Table>標籤並循環遍歷每一行,並根據指定的位置插入額外的列。JavaScript運行時錯誤:無法獲取屬性'innerHTML'的未定義或空引用

我在檢查列的值是否爲空然後我插入<TD>這是一個額外的列。

問題:即使是在代碼行

var val = tColumns[iCol + 1].innerHTML;,它的投擲空例外下一列的值。代碼有什麼問題?

enter image description here

+1

漂亮從錯誤信息明顯:'tColumns [ICOL + 1]'不存在。由於您正在遍歷NodeList,所以當您查看最後一個元素時,不能執行'iCol + 1'。 –

+0

那麼..'tColumns [iCol + 1]'是未定義的。使用'console.log'來查看它或調試器來觀察它,同時檢查'iCol'的值。就目前來看,這個問題非常具體。 –

+0

Anthony Gris - 'tColumns [iCol + 1]'確實存在..它在for循環之前已經聲明瞭很多! – user2729272

回答

0

你遍歷比陣列的可用長度多一個。

我猜你想引用下一個列。在這種情況下改變你的for循環到此:

for(var iCol = 0; iCol < t.Columns.length -1; iCol++)

相關問題