日期:2014-05-17  浏览次数:20504 次

通过js改变CSS class名称
比如<div id="a" class="diva" onmouseover="changeclass()";>
  <div id="b" class="divb"></div>
  <div id="c" class="divc"></div>
  ........

  </div>

现在就想当鼠标移过的时候把 
<div id="b" class="divb"></div>
  <div id="c" class="divc"></div>
  ........
中的class名全变成为新我名称。有那位高手会,指教一下小弟,谢谢。

------解决方案--------------------
this.class='myclass';
------解决方案--------------------
<div id="a" class="diva" onmousemove="this.className='diva2';"></div>
------解决方案--------------------
div id="a" class="diva" onmouseover="changeclass()";>
<div id="b" class="divb"></div>
<div id="c" class="divc"></div>
........

</div>

<script language="javascript">
function changeclass()
{
getELementById('a').className='MyClassName';
}
</script>

------解决方案--------------------
div id="a" class="diva" onmouseover="changeclass()";>
<div id="b" class="div0"></div>
<div id="c" class="div1"></div>
........

</div>

<script language="javascript">
function changeclass()
{
var A=getELementById('a')
A.className='MyClassName';
var AllTag=a.getElementsByTagNames('div');
for(i=0;i<AllTag.length;i++)
{
AllTag[i].className='div'+i;
}
}
</script>
------解决方案--------------------
div id="a" class="diva" onmouseover="changeclass()";>
<div id="b" class="divb"></div>
<div id="c" class="divc"></div>
........

</div>

<script language="javascript">
function changeclass()
{
getELementById('a').className='MyClassName';
}
</script>


这个是正解。

你说的效果就需要你写CSS的时候用选择器了


如:
div.diva{
......
}
div.diva .div0{
....
}
div.diva .div1{
....
}

div.MyClassName{
......
}
div.MyClassName .div0{
....
}
div.MyClassName .div1{
....
}
------解决方案--------------------
这样你只需要通过JS改容器父级的样式,那下级的样式也会一起变
------解决方案--------------------
function changeclass()
{
document.getElementById('b').class='myclass';//className(ie),class(ff);
}