单击导航索引数组上的双重警报

时间:2012-05-21 17:33:25

标签: javascript jquery

当我点击子菜单时,我得到2个警报,弹出首先说1然后第二个弹出窗口给我2.我希望警报为0,1,2,3等正确顺序为每导航一个数组。它不是子菜单项只是数组中的以下项吗?

<ul id="menu">
   <li><a href="page1">Item 1</a></li>
   <li><a href="page2">Item 2</a> 
      <ul id="sub-menu">
           <li><a href="page3">Item 3</a></li>
      </ul>
   </li>
   <li><a href="page4">Item 4</a></li>
</ul>

Jquery的:

jQuery (function($) {
  $("#menu .menu li").each(function (index) {
     var item = $(this);
     $("a", item).click(function (e) {
        e.preventDefault();
        alert(index);
     });
  });
});

2 个答案:

答案 0 :(得分:3)

不使用event.stopPropagation()的方式:

jQuery (function($) {
  $("#menu .menu li").each(function (index) {
    var item = $(this);
    $("> a", item).click(function (e) {
      e.preventDefault();
      alert(index);
    });
  });
});​

它只会触发li的直接孩子。

这是working example

答案 1 :(得分:0)

哦,我以为你想要索引相对于最近的封闭ul: http://jsfiddle.net/mari/68Zjt/