你可以使用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