glzmzd 2015-06-03 03:23 采纳率: 50%
浏览 2764
已采纳

在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 2015-06-03 03: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";
                  }
                            }
                    }
    
    
        } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 seata使用出现报错,其他服务找不到seata
  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取
  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误