你可以使用jQuery,但如果你不想使用它;这里是一个纯粹的JavaScript例子。要查看它的工作原理,请将其复制粘贴到文本文件中,将其保存为test.htm并在浏览器中打开它。它包含三个表格,每个表格上面都有一个按钮。点击一个按钮时,会显示表格并隐藏所有其他表格。如果你需要更多的表,给他们一个ID,并且其ID添加到阵列中的功能:
var ids = ["redTable", "greenTable", "blackTable", "anotherTable"];
如果您希望能够切换该表也,它会关闭当然还需要一个按钮:
<input type="button" value="Toggle Green Table" onclick="showtable('anotherTable');" />
例如:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function showtable(id) {
var ids = ["redTable", "greenTable", "blackTable"];
for(var i = 0; i < ids.length; i++) {
if(ids[i] != id)
document.getElementById(ids[i]).style.display = "none";
}
document.getElementById(id).style.display = "block";
}
</script>
</head>
<body>
<input type="button" value="Toggle Red Table" onclick="showtable('redTable');" /><br />
<table style="width: 100px; height: 100px; background-color: red;" id="redTable">
<tr>
<td>redTable</td>
</tr>
</table>
<input type="button" value="Toggle Green Table" onclick="showtable('greenTable');" /><br />
<table style="width: 100px; height: 100px; background-color: green; display: none;" id="greenTable">
<tr>
<td>greenTable</td>
</tr>
</table>
<input type="button" value="Toggle Black Table" onclick="showtable('blackTable');" /><br />
<table style="width: 100px; height: 100px; background-color: black; display: none;" id="blackTable">
<tr>
<td>blackTable</td>
</tr>
</table>
</body>
</html>
来源
2012-08-04 08:25:15
Tom
目标是无法实现的,因为“所有其他元素”包括'body'元件,和设置'显示:none'隐藏其所有后代太(包括您的按钮) 。请澄清。解释你为什么这样做也可能有帮助。 – 2012-08-04 08:01:01
不好意思。我编辑了我的问题。我需要隐藏一些已经可见的表格元素,因为如果两个表格元素同时可见,它看起来不太好。我想让目前只有一个表格元素可见。 – user1575698 2012-08-04 08:05:50