在foreach标签中修改style属性

代码:
html

<body onload="test();">
<form name="f1" method="post" action="">                        
                    <c:forEach items="${list}" varStatus="state" var="dto">
                    <input style="display:" class="btn btn-block btn-red"  id="del" name="${dto.user_type}" value="删除"                      
                        onclick=""/>

js:

function test(){
         var check;
         var pdb = document.getElementById("del");
         check = pdb.name;
         var shanchu=document.getElementById("del");
         alert(check);
         if(check==0){
            shanchu.style.display="";
                       }
         else{
        shanchu.style.display="none";
              }
    } 

我希望可以通过判断 dto.user_type的值来 改变 display的值,但是在调试中发现,
在foreach遍历下,只有第一个display的值受到了影响,其余的都是我设定的“”。
原因我想是我的list里面只有第一行的 dto.user_type有值,其余几行的都是null.
我是否有办法可以让遍历循环下每一个input标签的style.display的值都等于第一个?

如果ID一致,getElementById只会取第一个

 function test(){
         var check;
         var pdbArr = document.getElementsByTagName('input');
                for(var i=0;i<pdbArr.length;i++){
                    var pdb = pdbArr[i];
                        if(pdb.id=='del'){
                            var check = pdb.name;
                                 if(check==0){
                        shanchu.style.display="";
                   }
              else{
                       shanchu.style.display="none";
              }
                        }
                }


    } 

是想在某一个类型的时候改变吗,可以在input里面加

可以修改一下ID,使用不同的ID

ID一致,getElementById只会取第一个