关于JS设置table中td的className问题

楼主
关于JS设置table中td的className问题
[P][B]说明:[/B][/P][P]我有一个不确定行数和列数的表格,并且每个单元格的class="td1",想让鼠标指到某一行时,此行的所有单元格的class="td2",以实现此行的背景变色。本来可以用<tr onmouseover="this.className='td2'" onmouseout="this.className='td1'">来实现,但因为每个单元格已经设置了class='td1',所以此方法就不能起作用了。[/P][P][B]因此想用如下JS来实现:[/B][/P][P]<script language="JavaScript" defer="defer">
setTdCSS();
function setTdCSS(){
 var table = $("table-1");
 var row = td = i = m = 0;
 for(i=0; i<table.rows.length; i++){
  row = $("table-1").rows;
  row.onmouseover = function(){for(m=0; m<row.cells.length; m++)row.cells[m].className='td2';}
  row.onmouseout = function(){for(m=0; m<row.cells.length; m++)row.cells[m].className='td1';}
 }
}
</script>[/P][P][B]问题:[/B][/P][P]用上面的JS,结果不管鼠标指在哪一行上,都是最后一行的背景色发生变化。请高手指点迷津,我的问题出在哪里。谢谢了先![/P][P] [/P][P]______________________________________________[/P][P] [/P][P][COLOR=#ff0000]在自己的[B]摸索[/B]下,此问题已解决:[/COLOR][/P][P]  row.onmouseover = function(){for(m=0; m<row.cells.length; m++)row.cells[m].className='td2';}
  row.onmouseout = function(){for(m=0; m<row.cells.length; m++)row.cells[m].className='td1';}
上面两行改成:[/P][P]  row.onmouseover = function(){for(m=0; m<this.cells.length; m++)this.cells[m].className='td2';}
  row.onmouseout = function(){for(m=0; m<this.cells.length; m++)this.cells[m].className='td1';}
[/P]
1楼
谢谢分享,收藏了

电脑版 Page created in 0.0312 seconds with 2 queries.