2017-10-08 108 views
0

這是我的javascript代碼。Uncaught TypeError:無法讀取js上null屬性的'addEventListener'

var customerNodea = document.getElementsByName("cartquantity");  
for(var i = 0; i < customerNodea.length; i++){ 
    var customer = document.getElementById("quantity"+i); 
    customer.addEventListener("change", func, false); 
} 

在我的HTML 我有

id="quantity1" 
id="quantity2" 
id="quantity3" 

。 .etc

任何幫助將不勝感激,謝謝!

+1

第一次進入你的循環您嘗試訪問「quantity0」 –

回答

1

當您開始for循環時,您將啓動計數器0。所以第一次通過你的循環你的代碼要求:

var customer = document.getElementById("quantity0"); 

這是null,因此你的錯誤。

你可以改變你的循環在1和完成 - 開始在3有:

for(var i = 1; i <= customerNodea.length; i++) { 
    var customer = document.getElementById("quantity"+i); 
    customer.addEventListener("change", func, false); 
} 
-1
var customerNodea = document.getElementsByName("cartquantity");  
for(var i = 0; i < customerNodea.length; i++) { 
    var customer = document.getElementById("quantity"+parseInt(i+1)); 
    customer.addEventListener("change", func, false); 
} 
+0

而你的答案是正確的,它只包含代碼(主要是從答案中複製)。最好指出''我的值是'0,1,2',而元素''id''包含'1,2,3'。 – Styx

相關問題