[英]select child of parent element
I want to select one div with ('.nav-dropdown-content') class in parent with ('.nav-dropdown') class to add.active class on the that child look at my code my function doesn't work correctly我怎么能select那个孩子?
<div class="nav-item nav-dropdown">
<a class="nav-link" href="#">Parent</a>
<div class="nav-dropdown-content">
<a class="dropdown-link" href="#">link</a>
<a class="dropdown-link" href="#">link</a>
<a class="dropdown-link" href="#">link</a>
<a class="dropdown-link" href="#">link</a>
</div>
</div>
var navDropDown = document.querySelectorAll('.nav-dropdown');
for (let i = 0 ; i < navDropDown.length ; i++) {
navDropDown[i].addEventListener('click', () => {
navDropDown[i].lastChild.addEventListener.classList.toggle('active');
})
}
选择最后一个元素,附加一个监听器,切换 class
document.querySelector('.nav-dropdown-content:last-child').addEventListener('click', (e) => { e.target.classList.toggle('active'); })
.active { background: yellow; }
<div class="nav-item nav-dropdown"> <a class="nav-link" href="#">Parent</a> <div class="nav-dropdown-content"> <a class="dropdown-link" href="#">link</a> <a class="dropdown-link" href="#">link</a> <a class="dropdown-link" href="#">link</a> <a class="dropdown-link" href="#">link</a> </div> </div>
你需要: navDropDown[i].lastElementChild.classList.toggle('active');
因此,您可以通过单击外部 DIV 来切换内部 DIV 与活动 class
var navDropDown = document.querySelectorAll('.nav-dropdown'); for (let i = 0; i < navDropDown.length; i++) { navDropDown[i].addEventListener('click', () => { navDropDown[i].lastElementChild.classList.toggle('active'); }) }
.active { background: yellow; }
<div class="nav-item nav-dropdown"> <a class="nav-link" href="#">Parent</a> <div class="nav-dropdown-content"> <a class="dropdown-link" href="#">link</a> <a class="dropdown-link" href="#">link</a> <a class="dropdown-link" href="#">link</a> <a class="dropdown-link" href="#">link</a> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.