jquery悬停函数仅适用于带类的ul?

时间:2010-07-01 07:07:59

标签: jquery drop-down-menu

我正在处理一个小的下拉菜单:

<ul>
<li class="section-title">HEADER which triggers dropdown</li>
   <li><a href="element_one">element one</a></li>
   <li><a href="element_one">element one</a></li>
   <li><a href="element_one">element one</a></li>
</ul>

<ul>
   <li><a href="element_one">element one</a></li>
   <li><a href="element_one">element one</a></li>
   <li><a href="element_one">element one</a></li>
</ul>



$('#menu ul').hover(
  function () {  
    $(this).children("li").show('fast');
  },
  function () {
    $(this).children("li").not(':first-child, .active').hide('fast');    
  }
);

我想知道如何将hover函数仅限制为ul,并使用“.section-title”的第一个孩子。 hover-function只能使用.section-title为ul发射。

可能吗?

3 个答案:

答案 0 :(得分:0)

$('#menu ul li')。eq(0).hasClass('section-title')。parent()。hover(...);

答案 1 :(得分:0)

$('#menu ul').each(function(){
  var  bol = $(this).children('li.section-title') > 0;
  if (bol){
       $(this).hover(
           function () {  
              $(this).children("li").show('fast');
           },
           function () {
              $(this).children("li").not(':first-child, .active').hide('fast');    
           }
       );
  }
});

答案 2 :(得分:0)

反过来。

$('li.section-title:first-child').parent().hover(function(){
     $(this).children("li").show('fast');
}, function(){
     $(this).children("li").not(':first-child, .active').hide('fast');
});