我有一个代码,当在网址的最后一部分输入“?a ='输入div number'”代码时显示隐藏的div。
<html>
<title> </title>
<head>
</head>
<body>
<div id="tab1" style="display:none" >
<p> "This is div 1" </p>
</div>
<div id="tab2" style="display:none">
<p> "This is div 2" </p>
</div>
<div id="tab3" style="display:none">
<p> "This is div 3" </p>
</div>
</body>
<script type="text/javascript">
if (window.location == 'http://localhost/assignment.html'){
document.getElementById("tab1").style.display="block";
}
if (window.location == 'http://localhost/assignment.html?a=2'){
document.getElementById("tab2").style.display="block";
}
if (window.location == 'http://localhost/assignment.html?a=3'){
document.getElementById("tab3").style.display="block";
}else{
document.getElementById("tab1").style.display="block";
}
</script>
</html>
当我输入http://localhost/assignment.html?a=2时,结果会给出“这是div1”和“这是div2”
答案 0 :(得分:1)
您的上一个else
语句仅适用于您的上一个if
语句,因此在tab1
时a != 3
总是显示。我认为您打算使用else if
:
if (window.location == 'http://localhost/assignment.html') {
document.getElementById("tab1").style.display = "block";
} else if (window.location == 'http://localhost/assignment.html?a=2') {
document.getElementById("tab2").style.display = "block";
} else if (window.location == 'http://localhost/assignment.html?a=3') {
document.getElementById("tab3").style.display = "block";
} else {
document.getElementById("tab1").style.display = "block";
}
答案 1 :(得分:0)
if (window.location == 'http://localhost/assignment.html?a=3'){
document.getElementById("tab3").style.display="block";
}else{ // Problem is in this else statment
document.getElementById("tab1").style.display="block";
}
在此部分代码中,您检查位置是否不是http://localhost/assignment.html?a=3
显示'tab1'
div。您可以删除此部分(来自else
)。