簡體   English   中英

如何使用 DOM Traversing 定位第三個 div?

[英]How can I locate the 3rd div using DOM Traversing?

任何人都可以幫助我如何使用遍歷 dom 在我的父nav-user-dd中找到第三個 div 嗎? 我的目標是找到nav-user-ddli並使用 Dom Traversing 添加一個 class 它。 謝謝

 .nav-user-ddli { background: yellow }.nav-user-ddli.addClass { background: green }
 <div id="btnNavUser" class="nav-user-dd"> <div class="nav-user-img"></div> <div class="nav-user-name">John Doe</div> <div class="nav-user-ddli"> <div id="btnLogoutF" class="nav-user-ddli-item">test</div> <div id="btnLogoutF" class="nav-user-ddli-item"> <a href="#">test</a> </div> </div> </div>

您可以直接使用 class 名稱nav-user-ddli (?) 或此選擇器.nav-user-dd>div:nth-child(3)

 document.querySelector(".nav-user-dd>div:nth-child(3)").style.background = 'red'
 <div id="btnNavUser" class="nav-user-dd"> <div class="nav-user-img"></div> <div class="nav-user-name">John Doe</div> <div class="nav-user-ddli"> <div id="btnLogoutF" class="nav-user-ddli-item">test</div> <div id="btnLogoutF" class="nav-user-ddli-item"> <a href="#">test</a> </div> </div> </div>

您可以通過使用getElementById選擇父元素來完成

const btnNavUser = document.getElementById("btnNavUser")

然后,用children屬性遍歷它的孩子

const thirdChild = btnNavUser.children[2] 

最后,添加所需的 class 與

thirdChild.classList.add("addClass")

 const btnNavUser = document.getElementById("btnNavUser") const thirdChild = btnNavUser.children[2] thirdChild.classList.add("addClass")
 .nav-user-ddli { background: yellow }.nav-user-ddli.addClass { background: green }
 <div id="btnNavUser" class="nav-user-dd"> <div class="nav-user-img"></div> <div class="nav-user-name">John Doe</div> <div class="nav-user-ddli"> <div id="btnLogoutF" class="nav-user-ddli-item">test</div> <div id="btnLogoutF" class="nav-user-ddli-item"> <a href="#">test</a> </div> </div> </div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM