Javascript 无法选择和更改UL子菜单项的类别
我正在将一些jQuery代码更新为纯JS。目前,代码正在使用jQuery最近的方法来选择最近的UL。我需要帮助找到使用javascript选择最接近UL的正确方法 以下是HTML代码的示例:Javascript 无法选择和更改UL子菜单项的类别,javascript,Javascript,我正在将一些jQuery代码更新为纯JS。目前,代码正在使用jQuery最近的方法来选择最近的UL。我需要帮助找到使用javascript选择最接近UL的正确方法 以下是HTML代码的示例: <ul class ="m_nav_tier m_nav_tier1"> <li data-nav-tier="1"> <a class="m_drop" href="#">Link1</a> <ul class=
<ul class ="m_nav_tier m_nav_tier1">
<li data-nav-tier="1">
<a class="m_drop" href="#">Link1</a>
<ul class="m_nav_tier m_nav_tier2">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</li>
</ul>
但问题是我必须给数组设置一个值。我试着放置,但没有用。如何根据选择的LI更新类 据我所知,您的类以.css为基础,您可以复制并从1更改为2,以及它有什么功能 我不知道wright.js,但是我看不到你告诉JavaScript在哪里收集这个函数'm_nav_tier1'来转换成这个函数
document.querySelector'ul.m_nav_tier2'[9].className+=active 检查这个,这可能有助于解决您的问题mdrop变量是什么?由于没有定义,您提供的fiddle在一开始就崩溃了。m_drop是LI元素上的css转换
var mdrop = document.getElementsByClassName('m_drop');
for (i = 9; i < mdrop.length; i++) {
//Forward
mdrop[i].onclick = function () {
//make tier 1 inactive
var tier1 = document.getElementsByClassName('m_nav_tier1')[1];
tier1.className += " inactive";
//find closest UL and make it active
document.querySelector('ul .m_nav_tier2')[9].className += " active";
};
document.getElementsByClassName('m_nav_tier2')[9].className += " active";