<script language="javascript">
function changeshow(uid) {
var strdiv=eval("document.all.divp" + uid );
if (strdiv.style.display=='none') {
strdiv.style.display='';
                   }
else {
strdiv.style.display='none';
}
}
</script>
<img id=img1 src=plus_m.gif  onclick="changeshow(1)">
<div id=divp1 Style="display:none;">aaa</div>

解决方案 »

  1.   

    因为功能其实可以更简化代码,其中的if-else部分只用一句?:表达式即可。
      

  2.   

    字符串和element对象虽然在文本表现上是一样的,但要让ID理解文本所表现的dom对象,必须要有一个转换比如
    document.all(''),document.all.item(''),document.getElementById(''),eval('')..
    如下:
    <script language="javascript">
    function changeshow(uid) {
    var oDivp = document.getElementById('divp' + uid); if (oDivp.style.display=="none") {
    oDivp.style.display="block";
                       }
    else {
    oDivp.style.display="none";
    }
    }
    </script>
    <img id=img1 src=plus_m.gif  onclick="changeshow(1)">
    <div id=divp1 Style="display:none;">hello</div>