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