2011-03-10 172 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();