显示/隐藏div';用javascript在按钮上按下(并首先隐藏所有div';s)
我是javascript新手,一开始我无法隐藏div,我可以让div在彼此之间切换任何帮助都会很好显示/隐藏div';用javascript在按钮上按下(并首先隐藏所有div';s),javascript,html,hide,show,Javascript,Html,Hide,Show,我是javascript新手,一开始我无法隐藏div,我可以让div在彼此之间切换任何帮助都会很好 <script type="text/javascript"> function show(elementId) { document.getElementById("id1").style.display="none"; document.getElementById("id2").style.display="none"; document.getElementById("
<script type="text/javascript">
function show(elementId) {
document.getElementById("id1").style.display="none";
document.getElementById("id2").style.display="none";
document.getElementById("id3").style.display="none";
document.getElementById(elementId).style.display="block";
}
</script>
<button type="button" onclick="show('id1');">Button 1</button>
<button type="button" onclick="show('id2');">Button 2</button>
<button type="button" onclick="show('id3');">Button 3</button>
<div id="id1">text 1</div>
<div id="id2">text 2</div>
<div id="id3">text 3</div>
函数显示(elementId){
document.getElementById(“id1”).style.display=“无”;
document.getElementById(“id2”).style.display=“无”;
document.getElementById(“id3”).style.display=“无”;
document.getElementById(elementId).style.display=“block”;
}
按钮1
按钮2
按钮3
文本1
文本2
文本3
您可以使用纯CSS隐藏div,首先:
#id1, #id2 #id3 {
display: none;
}
函数hideAll(){
document.getElementById(“id1”).style.display=“无”;
document.getElementById(“id2”).style.display=“无”;
document.getElementById(“id3”).style.display=“无”;
}
函数显示(elementId){
希德尔();
document.getElementById(elementId).style.display=“block”;
}
按钮1
按钮2
按钮3
文本1
文本2
文本3
希德尔();
jsiddle:您可以通过添加内联样式来隐藏所有div:
<script type="text/javascript">
function show(elementId) {
document.getElementById("id1").style.display="none";
document.getElementById("id2").style.display="none";
document.getElementById("id3").style.display="none";
document.getElementById(elementId).style.display="block";
}
</script>
<button type="button" onclick="show('id1');">Button 1</button>
<button type="button" onclick="show('id2');">Button 2</button>
<button type="button" onclick="show('id3');">Button 3</button>
<div id="id1" style="display:none">text 1</div>
<div id="id2" style="display:none">text 2</div>
<div id="id3" style="display:none">text 3</div>
函数显示(elementId){
document.getElementById(“id1”).style.display=“无”;
document.getElementById(“id2”).style.display=“无”;
document.getElementById(“id3”).style.display=“无”;
document.getElementById(elementId).style.display=“block”;
}
按钮1
按钮2
按钮3
文本1
文本2
文本3
看到它在这里工作了吗:您的代码很好。您只需要将
脚本
块放在其他所有内容之后
按钮1
按钮2
按钮3
文本1
文本2
文本3
功能显示(elementId){
document.getElementById(“id1”).style.display=“无”;
document.getElementById(“id2”).style.display=“无”;
document.getElementById(“id3”).style.display=“无”;
document.getElementById(elementId).style.display=“block”;
}
函数显示(elementId){
document.getElementById(“id1”).style.display=“无”;
document.getElementById(“id2”).style.display=“无”;
document.getElementById(“id3”).style.display=“无”;
document.getElementById(elementId).style.display=“block”;
}
div{
显示:无;
}
按钮1
按钮2
按钮3
文本1
文本2
文本3
所有的div都将在第一次运行时隐藏,您的代码将以这种方式工作,将按钮和div放在tag和tag下
以下是我将同时使用CSS和JavaScript来实现这一点: JavaScript
window.show = function(elementId) {
var elements = document.getElementsByTagName("div");
for (var i = 0; i < elements.length; i++)
elements[i].className = "hidden";
document.getElementById(elementId).className = "";
}
HTML
<button type="button" onclick="show('id1');">Button 1</button>
<button type="button" onclick="show('id2');">Button 2</button>
<button type="button" onclick="show('id3');">Button 3</button>
<div id="id1">text 1</div>
<div id="id2" class="hidden">text 2</div>
<div id="id3" class="hidden">text 3</div>
按钮1
按钮2
按钮3
文本1
文本2
文本3
为什么不使用jQuery?@Nathan:为什么不使用Javascript?jQuery做这类事情会更好。这么简单的功能需要这么多开销?基于此信息,使用jQuery将是愚蠢的。:)点击后元素没有显示,这不是最初的显示,问题是在这种情况下问题需要更新。Topicstarter说:“我不能用接缝来隐藏div”。这就是为什么。效果非常好!谢谢
<script type="text/javascript">
function show(elementId) {
document.getElementById("id1").style.display="none";
document.getElementById("id2").style.display="none";
document.getElementById("id3").style.display="none";
document.getElementById(elementId).style.display="block";
}
</script>
<style>
div{
display:none;
}
</style>
<button type="button" onclick="show('id1');">Button 1</button>
<button type="button" onclick="show('id2');">Button 2</button>
<button type="button" onclick="show('id3');">Button 3</button>
<div id="id1">text 1</div>
<div id="id2">text 2</div>
<div id="id3">text 3</div>
window.show = function(elementId) {
var elements = document.getElementsByTagName("div");
for (var i = 0; i < elements.length; i++)
elements[i].className = "hidden";
document.getElementById(elementId).className = "";
}
.hidden {
display: none;
}
<button type="button" onclick="show('id1');">Button 1</button>
<button type="button" onclick="show('id2');">Button 2</button>
<button type="button" onclick="show('id3');">Button 3</button>
<div id="id1">text 1</div>
<div id="id2" class="hidden">text 2</div>
<div id="id3" class="hidden">text 3</div>