我有一个示例代码:
<ul id="nav">
<li><a href="#">Home</a></li>
<li><a href="#">About ↓</a>
<ul id="nav-sub">
<li><a href="#">Home</a></li>
<li><a href="#">About »</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</li>
</ul>
和jquery
$(document).ready(function() {
$("#nav li").hover(function(){
$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
$('#nav-sub ul').css("background", "#380606");
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
});
当我悬停ul li时,$('#nav-sub ul').css("background", "#380606");
无法更改背景,如何修复它?
答案 0 :(得分:0)
$('#nav-sub ul')
将选择#nav-sub
后代的任何UL。在你的html中,#nav-sub
没有任何后代Uls,因此没有被选中。
也许你只想做:
$('#nav-sub').css("background", "#380606");
或者可能
$('#nav-sub li').css("background", "#380606");
答案 1 :(得分:0)
它不是ul
它应该是li
,如下所示
$('#nav-sub li').css("background", "#380606");
答案 2 :(得分:0)
您只是尝试为li
的每个BG执行类似的操作:
$('ul#nav-sub li').css("background", "#380606");
或想要ul
上的bg:
$('ul#nav-sub').css("background", "#380606");
答案 3 :(得分:0)
使用:hover选择器
使用CSS非常简单ul#nav li{
background: #FFFFFF;
}
ul#nav li:hover{
background: #380606;
}
或: http://jsfiddle.net/2kguw/3/
ul#nav li{
background: #FFFFFF;
}
ul#nav li:hover{
background: #380606;
}
ul#nav-sub{
display:none;
}
li#about:hover ul#nav-sub{
display:block!important;
}