“document.getElementById(div).style.display = none”无效

时间:2016-08-07 11:07:08

标签: javascript jquery html

当我点击一个按钮时,我正试图隐藏三个div,但我的js无效。

    function display() {
    document.getElementById("Contentable").style.display = none;
    document.getElementById("savebtn").style.display = none;
    document.getElementById("stylebar").style.display = none;
    }

当我点击按钮时,会出现未被捕捉的参考错误,表示未定义“无”。

6 个答案:

答案 0 :(得分:5)

您需要将“none”作为字符串传递。

function display() {
    document.getElementById("Contentable").style.display = 'none';
    document.getElementById("savebtn").style.display = 'none';
    document.getElementById("stylebar").style.display = 'none';
}

否则,它被解释为在这种情况下未定义的变量名。

答案 1 :(得分:3)

none应该在" "中,你也可以使用JQuery。

function display() {
    $("#Contentable").hide();
    $("#savebtn").hide();
    $("#stylebar").hide();
   }

答案 2 :(得分:2)

你必须用none双重或单引号写"none",就像这样



<!DOCTYPE html>
<html>
<head>
<style>
#myDIV {
    width: 500px;
    height: 500px;
    background-color: lightblue;
}
</style>
</head>
<body>


<button onclick="myFunction()">Try it</button>

<div id="myDIV">
This is my DIV element.
</div>


<script>
function myFunction() {
    document.getElementById("myDIV").style.display = "none";
}
</script>

</body>
</html>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

none必须引用,否则将被视为变量

element.style.display = 'none';

答案 4 :(得分:0)

Safari呈现的内容有所不同,并为下拉菜单使用UI叠加层。您不仅可以隐藏它们,还可以每次从数组中刷新匹配的选项。在这里,我每次使用jQuery清除选择选项并创建新选项:

myFunction();

function myFunction() {

  //alert("dins");

    var select = document.getElementById("selectArticles");
  var options = ["NouCreus", "Pic de l'Àliga", "Puigmal", "Finestrelles", "NouFonts", "Núria Estació"];
  
    var i, L = select.options.length - 1;
  for(i = L; i >= 0; i--) {
     select.remove(i);
  }

    var input, filter, ul, li, a, i, txtValue;
    input = document.getElementById("inputPatro");
    filter = input.value.toUpperCase();
  
  var el = document.createElement("option");
      el.textContent = "Vall de Núria";
      el.value = "-1";
      select.appendChild(el);

  for(var i = 0; i < options.length; i++) {
    var opt = options[i];
    if (opt.toUpperCase().indexOf(filter) > -1) {
      var el = document.createElement("option");
      el.textContent = opt;
      el.value = opt;
      select.appendChild(el);
    }
  }
}
<input type="text" id="inputPatro" onchange="myFunction()" placeholder="Filtre per nom.." title="Escriu un patró per filtrar les opcionw del desplegable">
<select id="selectArticles">
</select>

答案 5 :(得分:0)

如果你想让一个对象消失,但仍然占用 HTML 页面上的空间,你可以使用下面的代码:

document.getElementById("Contentable").style.visibility="hidden";
document.getElementById("savebtn").style.visibility="hidden";
document.getElementById("stylebar").style.visibility = "hidden";

否则,要回答您的问题,请复制粘贴以下代码:

document.getElementById("Contentable").style.display = "none";
document.getElementById("savebtn").style.display = "none";
document.getElementById("stylebar").style.display = "none";