我正在尝试使用另一个元素中的 onmouseover 函数将类名更改(最好是添加)多个 div 。这两个元素没有相互嵌套,所以我不能(或至少不)认为我可以使用纯 CSS 来做到这一点。我正在简化以下代码以使其更易于阅读。“项目”的实际 html 有点嵌套。希望这不会是一个问题
<ul id="buttons">
<li class="a">button a</li>
<li class="b">button b</li>
</ul>
<div id="items">
<div class="item-a"></div>
<div class="item-b"></div>
<div class="item-b"></div>
<div class="item-a"></div>
<div class="item-b"></div>
</div>
所以基本上我想要做的是当我用鼠标悬停“li”元素时,div“items”中的相应类将一个类添加到自身(因此按钮中的类“a”会添加一个类“悬停”到所有“item-a”类,等等)。
我对 javascript/jquery 还很陌生。到目前为止,我设法使用 Id 而不是类来完成它,但由于 ID 必须是唯一的,所以这不是我需要的。代码是:
onmouseover="document.getElementById('item-a').className = 'hover';"
这行得通。只有一个 div (第一个具有该 ID),但它工作,所以我试图将它从 Id 更改为 ClassName 但它没有工作
onmouseover="document.getElementsByClassName('item-a').className = 'hover';"
而且,如果上面的代码可以工作,它会改变类,而我更愿意添加它(然后用 onmouseout 函数删除它)
作为参考,在我进行的大量搜索中,我还尝试了这个链接 Trigger the css:hover event with js 试图使其适应我的情况
$(window).load(function() {
$('.a').hover(function(){
$('.item-a').addClass('hover');
});
}
没有结果。
提前感谢您的帮助。