使用JavaScript隐藏/显示表

时间:2010-01-13 04:53:31

标签: javascript

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

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 个答案:

答案 0 :(得分:1)

如果之前未在JavaScript中显式设置元素的样式display属性,则它将为空,即使该元素是通过某些CSS规则隐藏的。最简单的方法是知道初始状态(隐藏或可见)是什么,并假设display属性为空时状态:

if (element.display=='none' || element.display=='') {
    element.display='block';
    }
 else {
    element.display='none';
    }

答案 1 :(得分:0)

你可以使用jQuery来做到这一点非常简单:

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