[英]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.