2009-11-03 121 views
0

我知道,我可以從一個表格單元格獲取類的名字,如果我有小區的ID,即獲取類細胞無ID標籤

scr = document.getElementById(cellid); 

classN = scr.className; 

但是我想要得到的類名從可能有1000多個單元格的表格中選擇。我可以做到這一點,而不是每個細胞id'ing?

任何幫助,將不勝感激。

感謝

回答

0

而不是在單元格上設置千個處理程序,爲什麼不設置一個在桌子上?

thetable.onclick= function(e){ 
e= window.event || e; 
var who= e.srcElement || e.target; 
var t= who.tagName; 
if(t== 'TD' || t== 'TH'){ 
    //do whatever to the cell 
} 
//finish up with 
if(e.stopPropagation) e.stopPropagation(); 
else e.cancelBubble= true; 
} 
1

你可以做

<script type="text/javascript"> 
    function travel(src) { 
     src.setAttribute("class", "style_notEmptyOrWhateverTheNewStyleIsCalled"); 
    } 
</script> 

<td class='style_empty' onClick='javascript:travel(this)'>no Data</td> 
+0

在我的表中的每個空單元格是這樣的 無數據 上點擊我想改變的類細胞的點擊 – Mick 2009-11-03 18:16:45

1

嗯,當然。 document.getElementById只是通過ID從DOM中獲取節點的快捷方式。您可以通過任何其他方法自由地找到這些節點;即找到table節點,然後遞歸通過它的孩子找到每個td。您可能爲此需要getElementsByTagName - 有關詳情,請參閱W3C DOM documentation

0

你有沒有試過只給表一個ID並得到它的方式?

<table id='someTableId' class='whatever'>... 

scr = document.getElementById('someTableId'); 

classN = scr.className;