代码之家  ›  专栏  ›  技术社区  ›  Suresh

用javascript隐藏/显示表

  •  0
  • Suresh  · 技术社区  · 15 年前

    嗨,我有一些数据表,我有一个展开和折叠按钮,如果我们点击+它将展开和显示表,如果我们点击它将折叠,我使用以下代码,但我得到的错误

    document.getElementById('eleName');
    
    imageXchk='expand';  
    loadedCheck='false';
    function toggleDisplayCheck(e, tableSize){
    
    element = document.getElementById(e).style;
     if (element.display=='none') {
        element.display='block';
        }
     else {
        element.display='none';
        }
    
     if (loadedCheck=='false') {
        myUpdater('returnsDetailsTable', '/oasis/faces/merchant/dashboard/ReturnsDetailsCheck.jsp', { method: 'get' }); 
        loadedCheck='true'
        }
    
        size = tableSize-1;
        eleName = 'mercPerfDashboardForm:returnsDetailsTable:' + size +':switchimageRetChk'
     if (imageXchk=='collapse') {
        document.getElementById('eleName').src='${pageContext.request.contextPath}/images/expand.gif';imageXchk='expand';
        }
      else {
        document.getElementById('eleName').src='${pageContext.request.contextPath}/images/collapse.gif';imageXchk='collapse';
        }   
        return false;
    }
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Tim Down    15 年前

    如果元素的样式是 display 属性以前没有在javascript中显式设置,它将为空,即使通过css规则隐藏了元素。最简单的方法是知道初始状态(隐藏或可见)是什么,并假设该状态 显示 属性为空:

    if (element.display=='none' || element.display=='') {
        element.display='block';
        }
     else {
        element.display='none';
        }
    
        2
  •  0
  •   www    15 年前

    您可以使用jquery来完成这个非常简单的任务:

    $("#table_id").hide();  // hide the table
    $("#table_id").show();  // show the table