【发布时间】:2019-10-20 00:51:24
【问题描述】:
因此,目前使用带有 onclick 的此代码,我能够打开子菜单项。
问题是当我单击其中一项以下拉菜单时,它们都打开了,但我只希望我单击的项打开而不是全部。
function myDropdown() {
var arr = Array.from(document.getElementsByClassName('sub-menu-wrap'));
for (let el of arr) {
var x = el.lastElementChild;
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
}
如果您前往https://staging.information-age.com/ 并查看右侧带有图标的第三个菜单,这就是我正在处理的菜单,因此您可以更好地理解我的意思。
并且添加这个菜单是由 Wordpress 使用 wp_nav_menu 函数动态生成的。
希望有人能帮忙!
【问题讨论】:
-
你考虑过使用Event.target获取当前点击的item吗? developer.mozilla.org/en-US/docs/Web/API/Event/target
-
我实际上没有,但我对如何实现这一点有点困惑,你能帮忙吗?
-
这是一个纯javascript下拉列表的示例codepen.io/dg1234uk/pen/wGyPRP
-
在你的上下文中你会使用类似
Event.target.parentNode.toggle('closed') -
这个 js 下拉菜单的问题是它只有一个菜单,而我的菜单中有大约 8 个不同的下拉菜单 staging.information-age.com
标签: javascript arrays wordpress drop-down-menu menu