function  show(){
      var hidden_zb1 = document.getElementById("hidden_zb1").style.display="block";
       var hidden_zb2 = document.getElementById("hidden_zb2").style.display="block";
        var hidden_zb3 = document.getElementById("hidden_zb3").style.display="block";
         var hidden_zb4 = document.getElementById("hidden_zb4").style.display="block";
          var hidden_zb5 = document.getElementById("hidden_zb5").style.display="block";      
   }  
 <logic:equal id="cm" property="List" name="Form">
<td width="15%" onclick=show(); >
 <tr id="hidden_zb1" >
  ...
 <tr id="hidden_zb2">
  ...
以上,方法写得啰嗦,可不可以用document.getElementsByName()方法进行优化处理??
document.getElementsByName()如何遍历数组?最终对tr标签 隐藏显示 或者 对某个节点 展开的操作。

解决方案 »

  1.   

    可以。为所有tr取相同的name值。然后循环
    var trs=document.getElementsByName('tr_name');
    var o=null;
    for(var i=0,len=trs.length;i<len;i++){
               o=trs[i];
               o.style.display="block";
    }
      

  2.   

    for(i=1;i<6;i++)
    document.getElementById("hidden_zb"+i).style.display="block";
      

  3.   

    1、tr元素只有id值,你使用getElementsByName()方法是取不到对象的;
    2、getElementsByName()方法的兼容性是有问题的,只有对表单元素使用才是安全的。
      

  4.   

    谢谢 T5500 and net_lover  
    O(∩_∩)O~