我的index.html文件中有一个id =“ menu”的div,我想用jQuery隐藏它。在我的script.js中,我写道:

window.onload = function() {
  prepareEventHandlers();
}

function prepareEventHandlers() {
  var hideDiv = $("#menu");
  var crtButton = $("#hide");
  crtButton.onclick = function() {
    hideDiv.hide();
  };
 }


但是当我按下网页上的按钮时,div仍然存在,唯一可行的方法是在index.html中编写:

 <button type="button" onclick="$('#menu').hide()" id="hide">HideDiv</button>


但是我不想使用它,因为它的样式不好,所以如何使用script.js代码来完成这项工作?

最佳答案

跟随卢卡斯的答案或修改您自己的代码

crtButton是一个jquery对象,因此它没有onclick属性。改为编辑DOM元素的onclick属性(为crtButton[0]

或者只是跳过jQuery并使用getElementById

    window.onload = function() {
      prepareEventHandlers();
    }

    function prepareEventHandlers() {
      var hideDiv = document.getElementById("menu");
      var crtButton = document.getElementById("hide");
      crtButton.onclick = function() {
        hideDiv.style.display = 'none'
      };
     }

09-25 16:32