根据JQuery中的计数为每个元素添加id

时间:2015-07-20 10:11:44

标签: javascript jquery

<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>


I have used

$(".tile_nav .ullevel2 span").attr('id', function(index) {
return "testDiv" + ($(this).index() + 1);
});

如何在页面加载时根据jQuery的长度为每个元素添加id?

4 个答案:

答案 0 :(得分:0)

您可以使用:

$('.span_group span').attr('id', function(idx){
    return 'span'+ idx;
});

答案 1 :(得分:0)

遍历所有元素并为每个元素添加id

&#13;
&#13;
$(".span_group").children().each(function(index){
   this.id = "span"+(index+1);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="span_group">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

此处的选择器$('.span_group span')将在span的父块中返回.span_group的标记名称集合,因此您只需将属性设置为{{1}内的跨度}。

.span_group中,我们可以使用函数作为第二个参数来返回值。

.attr()
$(function() {
  $('.span_group span').attr('id', function() {
    return 'span' + ($(this).index()+1);
  })
});

答案 3 :(得分:0)

使用:

for my $element (@{ $xml->{lvl1}[0]{lvl2} }) {

请参阅小提琴:“http://jsfiddle.net/sraq9qj9/

说明:它将迭代具有类$(".span_group span").each(function(index){ $(this).attr("id","span"+$(this).text()); }); 的每个span元素,并使用.span_group为其分配id。此处attr('id',someValue)someValue本身的文本,因为span引用当前元素对象(在这种情况下为span)。