2 glzmzd glzmzd 于 2015.06.03 11:23 提问

在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的值都等于第一个?

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.03 11:28
已采纳

如果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";
              }
                        }
                }


    } 
danielinbiti
danielinbiti 回复glzmzd: shanchu应该是 pdb,你代码上对象重复了,我这忘了改了。
2 年多之前 回复
glzmzd
glzmzd 多谢!靠您的办法解决了! (ps.应该写成pdb.shanchu.style.了吧?)
2 年多之前 回复
hsj_217
hsj_217   2015.06.03 11:27

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

dominating413421391
dominating413421391   2015.06.03 13:43

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

datou431
datou431   Rxr 2015.06.18 15:33

ID一致,getElementById只会取第一个

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!