2016-02-18 118 views
-2

我有這樣的事情財產「風格」,但我不明白問題出在哪裏。控制檯說 - Cannot read property 'style' of undefined無法讀取的不確定

<div class="price-table-box"></div> 
<div class="price-table-box"></div> 
<div class="price-table-box"></div> 
<div class="price-table-box"></div> 

var table = document.getElementsByClassName('price-table-box'); 

for (var i = 0; i <= table.length; i++) { 
    table[i].style.display = 'none'; 
} 

回答

3

你經歷了太多的元素循環。 table[4]不存在,所以它的undefined

循環0-3,而不是0-4:

for (var i = 0; i < table.length; i++) 
+0

謝謝,我忘了,在編程一切從0開始。 – Wizard

-2

它已經指出,你試圖訪問一個不存在的數組的元素。如果你有一個以上的問題......

您不能訪問DOM通過「document.get ...」方法,直到網頁完成加載對象,因爲它還不存在技術上,或者還不能訪問。你需要把你的javascript放到一個window.onload事件處理程序或類似的地方。

window.onload = function(){ 
    var table = document.getElementsByClassName('price-table-box'); 

    for (var i = 0; i <= table.length; i++) { 
     table[i].style.display = 'none'; 
    } 
}; 

確保把你需要的一切的onload這個函數(或者從它稱呼它),否則會覆蓋以前的聲明書。