如何使用jquery动态地将属性添加到具有相同类名的多个div?

时间:2011-08-05 06:12:21

标签: javascript jquery

我的html代码中写有“div”,就像这样

<div class="mydata">
</div>

这是在页面渲染时动态创建的,因此将创建多少具有相同类名的div并不是固定的,但是使用我的代码我可以获得页面加载后一次显示的div总数。

我将该值存储在变量“counter”中。

所以例如在某个时候,如果他们是5个div与“mydata”类名,那么计数器有5个值

但现在我想将id属性(从1到计数器值开始)添加到每个div。

例如:第一个div看起来像<div class="mydata" id="1"></div>

第二个就像这个<div class="mydata" id="2"></div> and so on.

所以请告诉我如何使用jquery将此id attr添加到我的div(如其他所述)?

-Thanks

4 个答案:

答案 0 :(得分:7)

不需要柜台。

但是,您不能只使用id属性的数字。它必须以一封信开头。

  

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(“ - ”),   下划线(“_”),冒号(“:”)和句点(“。”)。

ID and NAME tokens


这是jQuery代码:

$('.mydata').each(function(i){
    $(this).attr('id', 'id_'+(i+1));
});

ID将是:

<div class="mydata" id="id_1"></div>
<div class="mydata" id="id_2"></div>
...

答案 1 :(得分:3)

$('.mydata').each(function(index, element) {
    $(element).attr('id', 'id_' + (index + 1));
});

答案 2 :(得分:0)

var i  = 1 ;

$('.mydata').each(function(){

$(this).attr('id',i);

i++;

});

答案 3 :(得分:0)

此外,

$('.mydata').attr('id', function (i, oldValue) {
    return 'id_' + i;
});

美好而简单:)