javascript 切换按钮不起作用

javascript toggle button dont work

<input tyoe="button" onclick="toggle()" value="Show Spoilers" />
<div id="spoilers" style="display: none;">Some spoilers</div>
<script>
function toggle(){
   var div = document.getElementById("spoilers");
   if(div.style.display = "none"){
      div.style.display = "block";
   } else {
      div.style.display = "none";
   }
}
</script>

它可以显示,但无法隐藏 div。所以它只用于显示而不用于隐藏它?我做错了什么吗?提前致谢。

您在 if

中忘记了等号 (=)
function toggle()
{
    var div = document.getElementById("spoilers");
    if(div.style.display === "none"){
        div.style.display = "block";
    } else {
        div.style.display = "none";
    }
}

示例:http://jsfiddle.net/90Lw12cf/

function toggle () {
    var div = document.getElementById('spoilers');

    div.style.display = div.style.display === 'none' ? 'block' : 'none';
}

如果你有一些带有 "s" 的剧透,你应该使用 class 而不是 ID。

那么我建议不要直接用JavaScript来做,而是添加一个class隐藏在css display:none 属性.

function toggle(){ 
    var divs = document.getElementsByClassName("spoilers");
    for(var i = 0; i > divs.length i++){
        if(divs[i].classList.contains("hidden")) {
            divs[i].classList.remove = "hidden";
        } else { 
            divs[i].classList.add = "hidden"; 
        }
    }  
}