单击特定单元格时,我会尝试隐藏表格的特定行。但是,当隐藏目标行块时,屏幕会自动滚动到页面顶部。主单元格是可单击的,允许隐藏以下相关单元格。我的桌子非常大,它们是多个可点击的单元格。
以下是我的代码的简单版本:
<tr id="Main1" onclick="hideTr(this.id)"><td><a href="#">Main1</a></td></tr>
<tr class = "main1Tr"><td>Cell1</td>
</tr>
<tr class = "main1Tr"><td>Cell2</td>
</tr>
<tr id="Main2" onclick="hideTr(this.id)"><td><a href="#">Main2</a></td></tr>
<tr class = "main2Tr"><td>Cell3</td>
</tr>
<tr class = "main2Tr"><td>Cell4</td>
</tr>
function hideTr(id){
if(id=="Main1"){
loading = document.getElementsByClassName("main1Tr");
for (var i = 0; i < loading.length; i++){
display = loading[i].style.display;
if(display == "none"){loading[i].style.display="";}
if(display == ""){loading[i].style.display="none";}
}
}
if(id=="Main2"){
loading = document.getElementsByClassName("main2Tr");
for (var i = 0; i < loading.length; i++){
display = loading[i].style.display;
if(display == "none"){loading[i].style.display="";}
if(display == ""){loading[i].style.display="none";}
}
}
}
答案 0 :(得分:1)
您忘记了onclick
处理程序中的to return false;
(不在hideTr
内部,但是无法正常工作)。那应该解决它。
答案 1 :(得分:1)
你必须返回false onclick 尝试onclick =“hideTr(this.id); return false”