获取每个菜单的子菜单项

时间:2016-01-06 11:43:23

标签: javascript jquery

我正在使用jquery获取菜单项。

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

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

    alert(children.length);
});

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

4 个答案:

答案 0 :(得分:1)

你想做什么?

$("div.MenuItem").parent().find( "div.MenuItem" ).length;

否则你基本上只计算一个菜单项和一个时间

答案 1 :(得分:1)

你应该从父母那里得到孩子:

    ImageView car=(ImageView)findViewById(R.id.car);
    TranslateAnimation animation= new TranslateAnimation(0.0f, 500.0f,
            0.0f, -500.0f);
    animation.setDuration(1000);  // animation duration50
    animation.setRepeatMode(1);   // repeat animation (left to right, right to left )
    animation.setFillAfter(true);
    animation.scaleCurrentDuration(500);

    car.startAnimation(animation);  // start animation

希望这有帮助。

答案 2 :(得分: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);
});

答案 3 :(得分:0)

我为你创建了演示..就像你做的那样

$("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>