2012-07-25 30 views
0

我有一個dataTable,我需要迭代。所以我有這個代碼:如何在Javascript的for循環中使用變量?

var tableSize = $('#j_idt11\\:dataTable tbody tr').length; 
for(i = 0;i< tableSize;i++){ 
    var test1 = document.getElementById("j_idt11:dataTable:0:updFoodType").textContent; 
    if(test1 == "food") 
     alert("hey"); 
} 

但我真的想在for循環中使用我。我認爲是這樣的:

var tableSize = $('#j_idt11\\:dataTable tbody tr').length; 
for(i = 0;i< tableSize;i++){ 
    var test1 = document.getElementById("j_idt11:dataTable:[i]:updFoodType").textContent; 
    if(test1 == "food") 
     alert("hey"); 
} 

但這並不起作用。我該如何使用語法?謝謝!

+2

這是我們更容易幫助你,如果你的代碼是正確的格式。 – 2012-07-25 18:31:37

+0

[我如何把一個變量放在一個字符串中使用javascript](http://stackoverflow.com/questions/10537981/how-do-i-put-a-variable-in-a-string-using- javascript) – 2012-07-25 18:33:18

+1

如果你可以寫一個更好的選擇器,你可以使用'$(..)。each(fn)'..如果使用jQuery(或另一個神奇的''''變體),那麼混合也是'document.getElementById'的用法。 – 2012-07-25 18:37:01

回答

1

for循環無關有了它,您需要連接字符串,

for(var i = 0;i< tableSize;i++){ 
    var test1 = document.getElementById("j_idt11:dataTable:" + i + ":updFoodType").textContent; 
    if(test1 == "food") 
    alert("hey"); 
} 

而且要小心全局變量,你應該在局部範圍內聲明i爲好。

1

你只需要使用您的字符串來連接i的值:

var tableSize = $('#j_idt11\\:dataTable tbody tr').length; 
for(i = 0;i< tableSize;i++) 
{ 
    var test1 = document.getElementById("j_idt11:dataTable:" + i + ":updFoodType").textContent; 
    if(test1 == "food") 
     alert("hey"); 
}