循环遍历div中的某些元素

时间:2015-02-18 11:44:28

标签: jquery for-loop indexing jquery-selectors typeof

我有像这样的HTML代码

<div class="myLinks">
  <div class="menu">
    <a href="#">Home</a>
    <div class="submenu">
    <a href="#">item 1</a>
    <a href="#">item 2</a>
    </div>
  </div>
<div class="menu">
    <a href="#">Services</a>
    <div class="submenu">
      <a href="#">item 3</a>
      <a href="#">item 4</a>
    </div>
  </div>
  <a href="#">contact</a>
</div>

所以我有7个链接,其中大多数都在div内,只有1个链接不在另一个div内,这是&#34; Contact&#34;。现在我试图给每个链接一个id等于其索引的id根据其他链接而不是主div中的所有元素所以我这样做

var links= $(".myLinks a").length; //7
for(var x=1; x<links; x++){
    var i = x-1;
       $(".myLinks a:eq("+i+")").attr("id",i);
    });
}

但这不起作用,因为$(&#34; .myLinks a:nth-​​child(&#34; + i +&#34;)&#34;)不会仅计算链接数,但计算全部.myLinks中的项目所以我需要给每个链接一个id等于其他链接中的顺序

示例:http://jsfiddle.net/a67b3emq/

1 个答案:

答案 0 :(得分:3)

您只需使用.each()即可实现目标:

$(".myLinks a").each(function(i){
   this.id=i;
});

<强> Working Demo