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