根据id切换div

时间:2018-04-02 19:05:09

标签: javascript

在这上画一个愚蠢的空白,但我需要能够根据点击的id来切换div(所以英语应该只显示英语和法语应该只显示法语)。所以英语div应该在开始时显示,当你点击法语链接时,英语会隐藏并显示法语div。当点击时,两个链接当前都会切换两个div。

function langToggle(id) {
   var english = document.getElementById("english"); 
   var frech = document.getElementById("french");

   english.style.display = (
       english.style.display == "none" ? "block" : "none"); 
   french.style.display = (
       french.style.display == "none" ? "block" : "none"); 
}
a {
  background-color: #333;
  color: #fff;
  padding: 5px;
  cursor: pointer;
}
<a onclick="langToggle(english)">English</a>
<a onclick="langToggle(french)">French</a>
<div id="english">
    <p>English</p>
</div>
<div id="french" style="display:none;">
    <p>French</p>
</div>

1 个答案:

答案 0 :(得分:0)

你做的是切换功能。但你需要的只是清除所有元素,只设置你需要的元素。

查看修改后的Javascript。

function langToggle(id) {
   english.style.display = "none";
   french.style.display = "none";
   id.style.display = "block";
}
a {
  background-color: #333;
  color: #fff;
  padding: 5px;
  cursor: pointer;
}
<a onclick="langToggle(english)">English</a>
<a onclick="langToggle(french)">French</a>
<div id="english">
    <p>English</p>
</div>
<div id="french" style="display:none;">
    <p>French</p>
</div>