遍历 div 中的某些元素
loop through certain elements inside div
我有 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 个 link,其中大部分在 div 内,只有 1 个 link 不在另一个 div 内,即 "Contact"。现在我试图给每个 link 一个 id,它根据其他 links 等于它的索引,而不是主要 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);
});
}
但这不起作用,因为 $(".myLinks a:nth-child("+i+")") 不会只计算 links,而是计算里面的所有项目。 myLinks 所以我需要给每个 link 一个 id 等于它在其他 links
中的顺序
您可以简单地使用 .each()
来实现这里的目标:
$(".myLinks a").each(function(i){
this.id=i;
});
我有 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 个 link,其中大部分在 div 内,只有 1 个 link 不在另一个 div 内,即 "Contact"。现在我试图给每个 link 一个 id,它根据其他 links 等于它的索引,而不是主要 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);
});
}
但这不起作用,因为 $(".myLinks a:nth-child("+i+")") 不会只计算 links,而是计算里面的所有项目。 myLinks 所以我需要给每个 link 一个 id 等于它在其他 links
中的顺序您可以简单地使用 .each()
来实现这里的目标:
$(".myLinks a").each(function(i){
this.id=i;
});