日期:2014-05-16  浏览次数:20433 次

javascript中的样式问题
<!--   当点击111111的链接时,111111标记变为红色,当点击其它的例如22222时,22222是红色,其它如111111恢复为原有样式,请问各位,以下JS代码可以变红,但不能恢复为什么?应怎么做呢?   -->
<script>
function       chgStyle(obj)   {  
var   ui=document.getElementById( "tab1 ");
var   aTag   =   ui.getElementsByTagName( "li ");
// var   aTag   =   document.getElementsByTagName( "li ");
alert(aTag.length);
        for(var       i=0;i <aTag.length;i++)       {      
        aTag[i].style.color= '#000 ';  
       
        }      
        obj.style.color= '#f00 ';
}
</script>      
<ul   id= "tab1 ">
    <li   > <a   href= "# "   onclick= "chgStyle(this) "> 111111 </li>  
    <li   > <a   href= "# "   onclick= "chgStyle(this) "> 222222 </a> </li>
    <li   > <a   href= "# "   onclick= "chgStyle(this) "> 333333 </a> </li>
    <li> <a   href= "# "   onclick= "chgStyle(this) "> 444444 </a> </li>
    <li> <a   href= "# "   onclick= "chgStyle(this) "> 555555 </a> </li>    
  </ul>

------解决方案--------------------
function chgStyle(obj) {
var ui=document.getElementById( "tab1 ");
// var aTag = ui.getElementsByTagName( "li ");
// var aTag = document.getElementsByTagName( "li ");
alert(aTag.length);
for(var i=0;i <ui.childNodes.length;i++) {
ui.childNodes[i].firstChild.style.color= '#000 ';
alert(ui.childNodes[i].tagName);

}
obj.style.color= '#f00 ';
}
</script>
<ul id= "tab1 ">
<li > <a href= "# " onclick= "chgStyle(this) "> 111111 </a> </li>
<li > <a href= "# " onclick= "chgStyle(this) "> 222222 </a> </li>
<li > <a href= "# " onclick= "chgStyle(this) "> 333333 </a> </li>
<li> <a href= "# " onclick= "chgStyle(this) "> 444444 </a> </li>
<li> <a href= "# " onclick= "chgStyle(this) "> 555555 </a> </li>
</ul>
改了一哈
现在这个行了,还有你的第一个LI差了一个 </a>