2012-09-25 42 views
1

好,即時通訊上的輕量級簡單下拉工作。我出來這個小問題::first.click多個ULS

<script> 
$(document).ready(function() { 
$('ul li:first a').click(function() { 
    if ($(this).attr('class') != 'active') { 
     $('.hideContent').slideUp(300); 
     $('.showContent').removeClass('active'); 
     $(this).addClass('active').next('ul').slideDown(300); 
     event.stopPropagation(); 
    } 
    else { 
     $(this).removeClass('active');   
     $('.hideContent').slideUp(); 
    }  
}); 
}); 
</script> 

第一隻是觸發第一個ul。我現在與多個uls工作:

<ul> 
    <li><a href="#"><span class="plus">+</span><span class="minus">-</span>Administração</a> 
     <ul class="hideContent"> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
     </ul> 
    </li> 
</ul> 
    <ul> 
    <li><a href="#"><span class="plus">+</span><span class="minus">-</span>Administração</a> 
     <ul class="hideContent"> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
      <li><a href="#">Item</a></li> 
     </ul> 
    </li> 
</ul> 

該:首先應該觸發第一個李的每個ul?還是我的工作方式錯了?

在此先感謝。

回答

4

第一隻匹配一個元素,嘗試使用:first-child代替。

雖然這隻匹配一個元素,但是:第一個孩子可以比一個匹配更多的 :每個父母一個。

http://api.jquery.com/first-selector/

+0

感謝。我從一開始就都錯了......我雖然:第一是等於CSS:第一胎 – fernandofleury

2

你需要:first-child


例子:
HTML: 約翰, 卡爾, 布蘭登

</div> 
    <div> 
    <span>Glen,</span> 
    <span>Tane,</span> 
    <span>Ralph</span> 

    </div> 

的javascript:

<script> 
    $("div span:first-child") 
     .css("text-decoration", "underline") 
     .hover(function() { 
       $(this).addClass("sogreen"); 
      }, function() { 
       $(this).removeClass("sogreen"); 
      }); 

</script> 
+0

感謝安舒,我很迷惑:先用CSS:第一子 – fernandofleury