2011-10-31 108 views
0

如何從dom中調用html表的td元素? document.getElementById(「exampleTable」)。childNodes []應該給你所有的tr元素,但是你如何去掉兩個級別?我要循環讀取表中每個td元素的文本節點。html dom for td元素

+0

您可以使用jQuery,這比直接訪問DOM好得多。如果你不想經常感到沮喪,不要直接使用DOM。決不。永遠。 –

+0

假設exampleTable是從HTML標記創建的table元素的id,document.getElementById(「exampleTable」)。childNodes []將返回caption,thead,tbody和tfoot元素,而不是'tr'元素。 – Alohci

+1

@LajosArpad這是總的FUD。完全不真實。 沒有看到HTML,我會嘗試: [table] .tBodies [0] .rows,然後遍歷行,然後[row] .cells,直到找到所需的東西。既然你還沒有發佈HTML,那麼你會對自己造成很大的傷害。請張貼它。 – 2011-11-01 04:26:18

回答

1
document.getElementById("exampleTable").getElementsByTagName("td") 

這將返回該表中所有td s的NodeList。

0

每個子節點都有子節點,因此獲取每個TR的子節點會爲您提供所有的TD。

但是,如果你打算做DOM查詢或DOM操作,我強烈建議使用JQuery。

0

你可以做這樣的事情

var int_tr_start = 0; 

var arr_tr = []; // store all tr's 

arr_tr = document.getElementById("tab").getElementsByTagName('tr'); 

for (var TR = int_tr_start; TR < arr_tr.length; TR ++) { // for each td 

    for (var TD = 0; TD < arr_tr[TR].childNodes.length; TD++) { // for each tr 
var tc = (arr_tr.textContent) ? arr_tr[TR].childNodes[TD].textContent : arr_tr[TR].childNodes[TD].innerText; // store the text from with in cell 
alert(tc); 
    } 
}