<div class="tile_nav">
<ul>
<li><span class="ullevel2"><span>Sample text</span></span></li>
<li><span class="ullevel2"><span>Sample text</span></span></li>
<li><span class="ullevel2"><span>Sample text</span></span></li>
<li><span class="ullevel2"><span>Sample text</span></span></li>
</ul>
</div>
我用过
$(".tile_nav .ullevel2 span").attr('id', function(index) {
return "testDiv" + ($(this).index() + 1);
});
如何在页面加载时根据jQuery的长度为每个元素添加id? https://jsfiddle.net/4LLocqau/1/
答案 0 :(得分:2)
试试这个:
$('.tile_nav .ullevel2 span').each(function(index) {
$(this).attr('id', 'testDiv' + (index + 1));
});
<强> jsFiddle 强>
您可以使用each()
循环来遍历span
个对象。此each()
会发送一个index
值,我们可以进一步利用它来形成和应用id
。
我当然假设您要将id
属性添加到最内层的span
元素中。如果我错了,请纠正我。
希望这有帮助。
答案 1 :(得分:2)
您可以使用以下功能:
var cnt = 1;
$(".tile_nav .ullevel2 span").each(function () {
$(this).attr('id', function (index) {
return "testDiv" + cnt;
});
cnt++;
});
在你的情况下, .each()
可以循环使用元素。
工作演示:JSFiddle
答案 2 :(得分:0)
请查看此示例,它可能会有所帮助JsFiddle。
$(".tile_nav .ullevel2 span").each(function( index ) {
$(this).attr("id","testDiv" + (index+1));
$(this).attr("title","id: 'testDiv"+(index+1)+"'"); //testing purpose
});