当我将鼠标悬停在某个对象上时,有没有办法更改其他对象的类? 当我将鼠标悬停在子菜单上时,菜单项必须更改。 我有;
ul.menu .menulink {
padding:0px 13px 0px;
height:23px;
font-weight:bold;
width:auto;
}
ul.menu ul li:hover .menulink{
color:#002d36;
background-image:none;
background-color:#ffffff;
}
HTML;
<ul class="menu" id="menu">
<li>
<a href="#" class="menulink"><span>Main menu item</span></a>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</li>
</ul>
我也试过jQuery;
$('ul.menu ul li').mouseover(function(){
$('.menulink').css('color', '#002d36');
$('.menulink').css('background-color', '#ffffff');
});
$('ul.menu ul li').mouseout(function(){
$('.menulink').css('color', '');
$('.menulink').css('background-color', '');
});
但是这会改变其他主菜单项目。 谁知道怎么样? 提前谢谢!
答案 0 :(得分:2)
我不认为使用纯CSS是可能的。我建议使用jQuery。你可以使用jQuery轻松完成:
$('.menulink').hover(
function(){
$(this).css('background-color', '#New-Color-In-HEX');
},
function(){
$(this).css('background-color', '#Old-Color-In-HEX');
}
);
答案 1 :(得分:2)
在css中你无法向后选择对象。我昨天在jq写了一个应该有帮助的小脚本。
$('.menu ul li').hover(function () {
$(this).parent('ul').parent('li').find('a.menulink').css('color', '#002d36');
},
function(){
$(this).parent('ul').parent('li').find('a.menulink').css('color', '#F00');
});
编辑:
答案 2 :(得分:0)
无法用纯css做到这一点。我猜你正在尝试用css做下拉列表。你可能想看看suckerfish:
答案 3 :(得分:0)
我认为您要做的是在浏览子菜单/子菜单时保持父级突出显示。为此,您需要将悬停样式应用于<li>
,而不是<a>
。在one of the suckerfish demos中可以看到这种情况的一个例子。