简体   繁体   English

强制单击处理程序识别多个元素

[英]Forcing a click handler to recognise multiple elements

Basically, I want clicked divs to be hidden when I click a specific anchor tag inside the div.基本上,当我单击 div 内的特定锚标记时,我希望隐藏单击的 div。 For whatever reason, this works for the first div and only this one.无论出于何种原因,这适用于第一个 div 并且仅适用于这个。 When I click the anchor tag in any other div, nothing happens.当我单击任何其他 div 中的锚标记时,没有任何反应。 I don't even get a error in the console so I really just don't understand what I'm doing wrong.我什至没有在控制台中收到错误,所以我真的不明白我做错了什么。

Here's my code:这是我的代码:

 document.querySelector(".closeWin").addEventListener("click", closeThisWin); function closeThisWin() { let winToClose = this.parentElement.parentElement; winToClose.style.display = "none"; console.log(winToClose); }
 .window { width: 210px; height: 110px; background-color: lightseagreen; text-align: center; margin: 6px auto; } .css { background-color: lightpink; } .s { font-size: 25px; padding: 40px 0; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="window"> <div class="s"> <a class="closeWin">Click Here 1</a> </div> </div> <div class="window css"> <div class="s"> <a class="closeWin">Click Here 2</a> </div> </div>

And Codepen: https://codepen.io/janaejpeg/pen/ExawWrm和 Codepen: https ://codepen.io/janaejpeg/pen/ExawWrm

I tried using jQuery but I didn't see any difference.我尝试使用 jQuery,但我没有看到任何区别。

querySelector -> querySelectorAll querySelector -> querySelectorAll

 document.querySelectorAll(".closeWin").forEach(function(a) { a.addEventListener("click", closeThisWin)}); function closeThisWin() { let winToClose = this.parentElement.parentElement; winToClose.style.display = "none"; console.log(winToClose); }
 .window { width: 210px; height: 110px; background-color: lightseagreen; text-align: center; margin: 6px auto; } .css { background-color: lightpink; } .s { font-size: 25px; padding: 40px 0; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="window"> <div class="s"> <a class="closeWin">Click Here 1</a> </div> </div> <div class="window css"> <div class="s"> <a class="closeWin">Click Here 2</a> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM