我有一个创建 html 报告的代码。
它使用 html 表格来显示结果,表格是可排序的,并且它们是自动斑马条纹的,因此已经有 Javascript 并且它全部嵌入内联,因此可以简单地与用户共享文件。
我对 Javascript 没有很好的掌握,而且这样做已经够难了。但是,现在的一个问题是,有时某些单元格中有很多数据。然而,这是设计使然,我希望找到一个优雅的解决方案。
我想要的是一个 Javascript 函数或一组函数,我可以在其中按下表格中的任何单元格并让它切换可见性。
换句话说 - 有一个包含许多单元格行和列的表格。当用户按下一个单元格时,其内容是不可见的,因此表格的其余部分将自行调整大小。因此 - 具有多行内容的单元格会重新调整行高的大小。
在这种方法中,由于大单元格是不可见的,因此可以更容易地比较许多具有一个单元格的数据行。
我找到了在表格外实现按钮以隐藏整个行或列的解决方案。带有输入字段的按钮,您可以定义一个 ID 并让它隐藏该 ID。我认为为每个单元格设置不同的唯一 ID 并不明智,我想要更简单的东西。
捕获单元格上的任何 onclick 事件的全局函数,这很好地使单元格内容切换可见性。
我知道我已经多次重复了我的愿望,但希望这让我的愿望更加清晰。
编辑:
这是我最终使用的最终代码。似乎工作得很好:
function tableclick(e)
{
e = e || window.event;
var target = e.target || e.srcElement;
while(target != this && (!target.tagName || target.tagName != "TD")) target = target.parentNode;
if( target != this)
{
toggleVis(target)
}
}
function toggleVis(obj)
{
if ( obj.style.fontSize != "0px" )
{
obj.style.fontSize = "0px"
}
else
{
obj.style.fontSize = "16px"
}
}
然后简单地添加onclick=tableclick(event)
到您的表中。