我知道如果我有单元格的id,我可以从表格单元格中获取类名称,即
scr = document.getElementById(cellid);
classN = scr.className;
但是我想从一个可能有1000多个单元格的表中获取类名。我可以不用每个细胞来做这件事吗?
任何帮助都将不胜感激。
谢谢
答案 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;
}