<html>
<head><title>展开还原</title>
<script language="javascript">
function $(s){return document.getElementById(s);}
function showhide(s)
{
$(s).style.display=$(s).style.display=="none"?"":"none";
$("pic").src=$(s).style.display=="none"?"http://community.csdn.net/Tree/TreeImages/folder.gif":"http://community.csdn.net/Tree/TreeImages/folderopen.gif";
}
</script>
</head>
<body>
<img src="http://community.csdn.net/Tree/TreeImages/folderopen.gif" id="pic" onclick="showhide('abc')" style="cursor:hand">
<div id="abc">
<table><tr><td></td><td>adsfasdf</tr>
<tr><td></td><td>aqwerqwe</tr>
<tr><td></td><td>azcxvzxc</tr>
<tr><td></td><td>gjkghjkh</tr>
<tr><td></td><td>ghjvbnmm</tr>
</table>
</div>
</body></html>

解决方案 »

  1.   

    补充一下:您的
    instead++;
    在function showhide(picobj)和function hide()外,永远只执行一次!
      

  2.   

    $(s).style.display=$(s).style.display=="none"?"":"none";
    这句话实在读不懂,把一个变量赋给同一个变量=="none"?"":"none";是什么意思特别是后面的"none"?"":"none";?""是什么意思
      

  3.   

    三元运算如果$(s).style.display=="none" 
    $(s).style.display="" //:前的那个
    如果$(s).style.display !="none" 
    $(s).style.display="none"  //:后的那个