2012-07-25 59 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"); 
}