将值分配给变量WHILE循环

时间:2011-03-10 15:20:29

标签: javascript jquery variables while-loop

我有一个循环遍历表的WHILE循环,只要$ i小于10.我希望这个循环将每个单元格的INNERHTML分配给变量。这样我以后就可以使用它来处理信息(循环是因为你可以选择是否必须采用前3个或前10个单元)。但是,如何将每个innerHTML分配给不同的变量? 我敢肯定必须有一个简单的方法。但谷歌无法给我一个好的答案。

提前致谢!

Milaan

7 个答案:

答案 0 :(得分:2)

阵列就是为此而设计的。

(大概你的意思是i,而不是$i,因为Javascript变量不需要以$开头..虽然没有理由你不能很多人选择只将它用于jQuery对象。我不会在下面使用它们。而且我不得不猜测代码的布局。)

var myHTMLs = [];
var i = 0;
while (i < 10) {
   var html = *<no idea how you are getting cell contents here.. what cell?!>*
   myHTMLs[myHTMLs.length] = html;
   i++;
}

答案 1 :(得分:1)

你能给每个细胞一个唯一的身份证吗?然后你可以这样做:

var cell_ids = ['id-cell-1', 'id-cell-2',...];
var cellcontents = [];

while (i < 10) {
  cellcontents.push($("#" + cell_ids[i]).html());
  i--;
}

答案 2 :(得分:0)

一个数组?

这只是半伪代码,但是:

var i;
var innerString[];

while (i < 10) {
    innerString[i] = (innerHTML of elementID);
    i++;
}

答案 3 :(得分:0)

如果我正确地阅读了你的问题,你想保留你循环的每个单元格的innerHTML,对吧?在这种情况下,您可能想要使用数组。也许是这样的:

var i = 0;
var innerHTML_array = [];
while( i < 10 ) {
  innerHTML_array[i] = current_cell.innerHTML;
  i++;
}

答案 4 :(得分:0)

这是数组有用的时候:

var i = 0;
var contents = [];
while (i < 10) {
   var div = document.getElementById("foo" + i);
   contents.push(div.innerHTML);
   i++;
}
alert(contents.length);
alert(contents[0]);
alert(contents[1]);

答案 5 :(得分:0)

也许这会有所帮助:

尝试引用带有一些id的表格,例如。

<table id="myTable">

然后,试试这段代码

var tab = document.getElementById("myTable");
var y = 0, x = 0;

var myContainer = [];

for (y = 0; y < tab.rows.length; y++){
    for (x = 0; x < tab.rows[y].cells[x].length; x++){
        if (!myContainer[y])
            myContainer[y] = [];
        myContainer[y][x] = tab.rows[y].cells[x].innerHTML;
    }
}

您的表格内容现已保存在myContainer变量中。要访问第8行中的第3个单元格,您只需使用:

alert(myContainer[8][3]);

答案 6 :(得分:0)

您可以尝试使用jQuery的.map()遍历所有单元格并将其innerHTML属性作为数组返回。

示例:http://jsfiddle.net/xHH64/1/

var htmlArray = $('tbody td', '#tableID').map(function(i,v){
  return i < 10 ? v.innerHTML : null;
}).get();