如果下拉列表可见,则将类添加到父li

时间:2010-12-28 19:07:32

标签: jquery

我有一个非常标准的基于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>

1 个答案:

答案 0 :(得分:5)

尝试以下方面:

$("#mainNav ul li ul").hover(
  function(){ // Mouse Over
   $(this).parent().addClass("hilite");
  },
  function(){ // Mouse Out
    $(this).parent().removeClass("hilite");
  }
);