【发布时间】:2021-11-14 00:30:48
【问题描述】:
我正在尝试为每个 ul li 获取不同的类,如下面的代码中所述。到目前为止我尝试过的代码是在 jQuery 中,但我需要在 vanilla Javascript 中实现这一点
任何帮助将不胜感激!
const topLevel = Array.from(document.querySelector(".main-nav-list > li > ul"))
.map(({
parentElement
}) => parentElement);
for (const element of topLevel) {
element.setAttribute(`${element.className} hasChild top`);
const subLevel = Array.from(element.querySelectorAll("li > ul"))
.map(({
parentElement
}) => parentElement);
for (const subElement in subLevel) {
subElement.setAttribute(`${subElement.className} hasChild sub`);
}
}
<nav class="main-nav">
<ul class="main-nav-list">
<li class="a"> <a href="/">First</a>
<ul class="main-nav-list">
<li class="b"> <a href="/">Type of menu</a>
<ul class="main-nav-list">
<li class="c"> <a href="/">Summer</a> </li>
<li class="c"> <a href="/">Winter</a> </li>
<li class="c"> <a href="/">All season</a> </li>
<li class="c"> <a href="/">Spring </a> </li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
【问题讨论】:
标签: javascript html jquery typescript ecmascript-6