2012-05-03 17 views
0

とすべての親のULを開く:私は何をしたいかjqueryのは、私は次のようにメニュー構造を持つリストのリンク

<ul id="menu"> 
    <li> 
     <a href="javascript:void(0)">HR</a> 
     <ul> 
      <li><a href="javascript:void(0)">Address</a> 
       <ul> 
        <li><a href="listcountrymaster.aspx">Country</a></li> 
        <li><a href="listregionmaster.aspx">Region</a></li> 
       </ul> 
      </li> 

      <li><a href="javascript:void(0)">Assets</a> 
       <ul> 
        <li><a href="ListVendorMaster.aspx">Vendor</a></li> 
        <li><a href="Listassetmaster.aspx">Asset</a></li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 

です: 私はhref="ListVendorMaster.aspx"

何かとのリンクの上にすべての親<ul>を開きたいです私は試してみました:

var openmenu = 'ListVendorMaster.aspx'; 
$('#menu ul').hide(); 
if(openmenu) 
{ 
    $('a[href="'+openmenu+'"]').closest('ul').show(); 
} 

これで私は1レベルの親ulしか開くことができません。

答えて

2

代わりclosest()使用parents()

感謝。

jQueryのparents()

+1

"最も近い" "親は" すべての一致を見つけた最初の一致を見つけることに注意することが賢明だろう。あなたの場合、あなたは両親が欲しいです。私は$( '#menu ul')も切り替えるかもしれません。hide(); –

0
if(openmenu) 
{ 
    $('a[href="'+openmenu+'"]').parent().parent('ul').show(); 
} 

DEMO

関連する問題