2016-01-06 73 views
-1

我正在使用jquery获取菜单项。获取每个菜单的子菜单项

$(document).ready(function() { 
$("div.MenuItem a").each(function() { 

    var children = $(this).children(); 

    alert(children.length); 
}); 

从这个脚本我需要让每个孩子的菜单项。但是在这里它总是给我长度为1,即使我有很多子菜单Item。

+0

你可以发布你的html吗? – KAD

+0

你可以使用.child() –

回答

1

你应该从父获得儿童:

$(this).parent().children(); 

希望这有助于。

1

使用菜单结构,如:

<div id="divMenu"> 
    <ul> 
     <li> 
      <a>Menu1</a> 
      <ul> 
       <li><a>Menu1Sub1</a></li> 
       <li><a>Menu1Sub2</a></li> 
       <li><a>Menu1Sub3</a></li> 
      </ul> 
     </li> 
    </ul> 
</div> 

你将需要:

$("#divMenu > ul > li > a").each(function() { 

    var children = $(this).next('ul').children(); 

    alert(children.length); 
}); 
+0

谢谢。这解决了我的问题 – Snj

0

我已创建演示了you..same像你一样

$("div.MenuItem").each(function() { 
 
    var children = $(this).children(); 
 
    alert(children.length); 
 
});
<div class="MenuItem"> 
 
    <a>j</a> 
 
    <a>d</a> 
 
    <a>c</a> 
 
    <a>a</a> 
 

 
</div>