获取没有id标记的单元格的类

时间:2009-11-03 18:09:03

标签: javascript

我知道如果我有单元格的id,我可以从表格单元格中获取类名称,即

scr = document.getElementById(cellid);

classN = scr.className;

但是我想从一个可能有1000多个单元格的表中获取类名。我可以不用每个细胞来做这件事吗?

任何帮助都将不胜感激。

谢谢

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

嗯,当然。 document.getElementById只是通过它的ID从DOM中提取节点的快捷方式。您可以通过任何其他方法自由地找到这些节点;即找到table节点,然后通过它查找每个td的子节点。您可能希望getElementsByTagName用于此目的 - 有关详情,请参阅W3C DOM documentation

答案 2 :(得分:0)

您是否尝试过让表格成为id并以此方式获取?

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

scr = document.getElementById('someTableId');

classN = scr.className;

答案 3 :(得分: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;
}