我有一个非常标准的基于CSS的下拉菜单。主要列表是“#mainNav”,下拉列表只是“mainNav ul”。 “mainNav ul”最初显示为none,当您将鼠标悬停在其父li上时,其显示将设置为block。当嵌套的ul可见时,我想添加类“hilite”(这与a:hover属性相同)。因此,当下拉列表可见时,父li会突出显示。
在嵌套li
可见时定位ul
:
$(function(){
if($('#mainNav ul').css({display: "block"})){
$("#mainNav li:nth-child(3)").addClass("hilite");
}
});
html
<ul id="mainNav" class="clearfix">
<li><a href="contact.php" target="_self">CONTACT</a></li>
<li><a href="events.php" target="_self">EVENTS</a></li>
<li><a href="current-line.php" target="_self">CURRENT LINE</a>
<ul>
<li><a href="#" target="_self">2009 Fall</a></li>
<li><a href="#" target="_self">2009 Spring</a></li>
<li><a href="#" target="_self">2008 Fall</a></li>
<li><a href="#" target="_self">2008 Spring</a></li>
</ul>
</li>
<li><a href="shop.php" target="_self">SHOP</a></li>
<li><a href="press.php" target="_self">PRESS</a></li>
<li><a href="bio.php" target="_self">BIO</a></li>
<li><a href="index.php" target="_self">HOME</a></li>
</ul>
答案 0 :(得分:5)
尝试以下方面:
$("#mainNav ul li ul").hover(
function(){ // Mouse Over
$(this).parent().addClass("hilite");
},
function(){ // Mouse Out
$(this).parent().removeClass("hilite");
}
);