问题描述<p class="upload" id="picgroup1">上传图片:<input class="modname" type="file" name="picgroup[]" value=""/></p><p class="upload" style="display:none" id="picgroup2">上传图片:<input class="modname" type="file" name="picgroup[]" value="" id=""/></p><p class="upload" style="display:none" id="picgroup3">上传图片:<input class="modname" type="file" name="picgroup[]" value="" id=""/></p>我想得到这些p中style="display:block"的个数,js应该如何写啊?我尝试用if (document.getElementsById("picgroup"+i).style.display == 'block' ) 来判断,但是好像不支持啊!

解决方案 »

  1.   

    document.getElementsById("picgroup"+i).style.display == 'block' || document.getElementsById("picgroup"+i).style.display == '' 
      

  2.   

    我试了这种方法,报错啊,Error:对象不支持此属性或方法
      

  3.   

      <p class="upload" id="picgroup1"> <input class="modname" type="file" name="picgroup[]" value=""/> </p><p class="upload" style="display:none" id="picgroup2"> <input class="modname" type="file" name="picgroup[]" value="" id=""/> </p><p class="upload" style="display:none" id="picgroup3"> <input class="modname" type="file" name="picgroup[]" value="" id=""/> </p>
    <div id='num'>0</div>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var pobj = document.getElementsByTagName('p');
    var k=0;
    for(var i=0;i<pobj.length;i++){
    if(pobj[i].style.display !='none'){
    k++;
    }
    }
    document.getElementById('num').innerHTML = k;
    //-->
    </SCRIPT>
      

  4.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    </head><body>
    <p class="upload" id="picgroup1">上传图片: <input class="modname" type="file" name="picgroup[]" value=""/> </p><p class="upload" style="display:block" id="picgroup2">上传图片: <input class="modname" type="file" name="picgroup[]" value="" id=""/> </p><p class="upload" style="display:none" id="picgroup3">上传图片: <input class="modname" type="file" name="picgroup[]" value="" id=""/> </p><script>
    var aa = document.getElementsByTagName('p');
    var num = 0;
    for(var i=0;i<aa.length;i++){
    //alert(aa[i].style.display);
    if(aa[i].style.display=='block'){
    num++;
    }
    }
    alert(num);
    </script>
    </body>
    </html>楼主这样做吧
    经测试正常
      

  5.   

    楼主的getElementsById是错的,所以会出问题,应该是getElementById