gpt4 book ai didi

javascript - 单击 HTML 元素 A 并使用纯 JavaScript 在 B 上添加类

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:43 25 4
gpt4 key购买 nike

我看不出我做错了什么..有人可以帮忙吗?

JavaScript:

function toggleMainNav() {
var navLink = document.getElementsByClassName('nav_link')[0];
var mainNav = navLink.nextSibling;
if ( mainNav.className.match(/(?:^|\s)inactive(?!\S)/) ){
mainNav.className = 'active';
} else{
mainNav.className = 'inactive';
}
}

document.getElementsByClassName('nav_link')[0].addEventListener( 'click' , toggleMainNav );

这是 HTML:

<a class="nav_link">☰ Menu</a>
<ul class="inactive">
</ul>

最佳答案

nextSibling 将是一个包含空格的文本节点。扫描直到获得 nodeType === 1 或使用 nextElementSibling(但请检查您的目标浏览器是否支持它)。


旁注:getElementsByClassNamequerySelector/querySelectorAall 的支持更差(例如,IE8 有后者但没有前者),所以您可能会考虑改用它们。

旁注 2:IE8 也没有 addEventListener

旁注 3:如果您通过 addEventListener 连接您的处理程序,在处理程序中 this 将已经是第一个 nav_link,因此您无需再次查找。

旁注 4:如果您不将第三个参数提供给 addEventListener(它过去不是可选的),一些较旧的浏览器将会失败。为了广泛兼容,请务必在末尾包含 false

关于javascript - 单击 HTML 元素 A 并使用纯 JavaScript 在 B 上添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23889394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com