jQuery在div外部单击后删除类

时间:2018-07-07 16:57:19

标签: jquery slidetoggle

在div外部单击后如何删除班级。以下代码无法正常工作。请帮我。 谢谢...

<script> 
$(document).ready(function(){
    $(".toggles-menu").click(function(){
        $(".main-nav").slideToggle("200");
    });
});

// Close the dropdown if the user clicks outside of it
window.onclick = function(e) {
  if (!e.target.matches('.toggles-menu')) {
    var mytoggles = document.getElementByClassName("main-nav");
      if (mytoggles.classList.contains('main-nav')) {
       mytoggles.classList.close('main-nav');
      }
  }
}
</script>

1 个答案:

答案 0 :(得分:1)

首先,它是document.getElement s ByClassName,它返回一个数组,因此您需要使用[0]来获取该类的第一个元素。

$(document).ready(function(){
    $(".toggles-menu").click(function(){
        $(".main-nav").slideToggle("200");
    });
});

// Close the dropdown if the user clicks outside of it
window.onclick = function(e) {
  if (!e.target.matches('.toggles-menu')) {
    var mytoggles = document.getElementsByClassName("main-nav")[0];
      if (mytoggles.classList.contains('main-nav')) {
       mytoggles.style.display="none";
      }
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class=".toggles-menu" style="border: 1px solid black">Menu</div>
<div class="main-nav">Main-nav div</div>

相关问题