[英]addClass() to direct child only (and not nested elements)
我有以下標記:
<div class="menu"> <a href="#" class="dropdown-item">Link 1</a> <a href="#" class="dropdown-item">Link 2</a> <ul class="hamburgerMenu__menu--levelTwo"> <li><a href="#" class="dropdown-item">Link 1</a></li> <li><a href="#" class="dropdown-item">Link 2</a></li> </ul> </div>
我正在嘗試通過 JQuery 將 class remove
添加到ul
之外的a
標簽中。 所以我試圖實現以下標記:
<div class="menu"> <a href="#" class="dropdown-item remove">Link 1</a> <a href="#" class="dropdown-item remove">Link 2</a> <ul class="hamburgerMenu__menu--levelTwo"> <li><a href="#" class="dropdown-item">Link 1</a></li> <li><a href="#" class="dropdown-item">Link 2</a></li> </ul> </div>
為了實現上述目標,我嘗試了以下方法:
$('.menu').children("a").addClass("remove");
但是,上面添加了remove
到所有錨標簽,即使是ul
中的標簽。
如何僅將remove
添加到ul
之外的a
標簽
使用 > 符號來定位直系孩子,你不需要 jquery ,純 js 就足夠了。
document.querySelectorAll('.menu > a').forEach(link => link.classList.add("remove"))
<div class="menu"> <a href="#" class="dropdown-item remove">Link 1</a> <a href="#" class="dropdown-item remove">Link 2</a> <ul class="hamburgerMenu__menu--levelTwo"> <li><a href="#" class="dropdown-item">Link 1</a></li> <li><a href="#" class="dropdown-item">Link 2</a></li> </ul> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.