2009-11-03 81 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;