2011-03-10 129 views
1

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

在此先感谢!

Milaan

+0

你想将它们分配到哪些变量? – 2011-03-10 15:24:07

+0

大声笑我的回答是第一个答案,它与大多数其他人一样的意图和目的相同,其他人得到的票ahaha哦,这就是我的生活,我想,很好的问题,虽然 – ScottC 2011-03-10 15:43:10

+0

@ScottC:这不是一个竞争。我想我得到了投票,因为我提供了所需的Javascript,而不是伪代码。 :) – 2011-03-10 16:07:53

回答

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++; 
} 
+0

感谢这工作:)其他答案可能会工作,但这个答案是最重要的。感谢大家! 我知道它必须是这样的xD我有几乎相同的东西,但没有奏效。但知道它的确如此! 非常感谢! 是的,你不需要使用$,但出于某种原因,我认为它看起来更好(至少,那么我可以更容易分开的东西)。 – Milaan 2011-03-10 15:58:25

+0

@米兰:没问题。关于'$',我明白。 :) – 2011-03-10 16:07:13

0

数组?

这只是半伪代码,但:

var i; 
var innerString[]; 

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

如果我正确地读你的问题,你想通过保持每个单元的innerHTML你循环,对不对?在这种情况下,你可能想要使用一个数组。也许是这样的:

var i = 0; 
var innerHTML_array = []; 
while(i < 10) { 
    innerHTML_array[i] = current_cell.innerHTML; 
    i++; 
} 
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]); 
1

你可以给每个单元的唯一ID?然后,你可以这样做:

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

while (i < 10) { 
    cellcontents.push($("#" + cell_ids[i]).html()); 
    i--; 
} 
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; 
    } 
} 

你的表格内容现在holded者在myContainer中的变量。要访问细胞没有3行没有8你只需要使用:

alert(myContainer[8][3]); 
+0

这是一些不错的编码!真的,我要拯救这个! 这是一个先进的使用我的目的,但我真的很喜欢它。我将来保存它,也许我可以使用它。谢谢! – Milaan 2011-03-10 16:00:03

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();