有没有一种只使用CSS就可以在鼠标悬停在另一个类的元素上时修改一个类的CSS样式的方法?
类似于:
.item:hover .wrapper { /*some css*/ }
只有'wrapper'不在'item'内,它在其他地方。
我真的不想为这么简单的事情使用JavaScript,但如果必须,我该怎么做?这是我的失败尝试:
document.getElementsByClassName('item')[0].onmouseover="document.getElementsByClassName('wrapper')[0].style.background="url('some url')";";
每个类别只有一个元素。不知道为什么他们在制作模板时没有使用ID,但事实就是这样,我无法改变。
[编辑]
这是一个菜单。每个菜单元素都有不同的类别。当你悬停在元素上时,一个子菜单会向右弹出。它就像一个覆盖层,当我使用“检查元素”工具时,可以看到整个网站的HTML在子菜单处于活动状态时发生了变化(也就是说,除了子菜单之外没有任何内容)。我称之为“包装器”的类别具有控制子菜单背景的CSS。实际上,我看不到两个类别之间的任何联系。
getElementsByClassName
,因为它并不被所有浏览器支持。 - Amberlamps.item
是前一个兄弟元素,你可以使用.item:hover ~ .wrapper { ... }
。 - Fabrizio Calderan