jquery .each()将单个属性添加到div

时间:2013-11-01 14:48:11

标签: jquery attributes each

在加载时,我希望将数据幻灯片属性编号添加到同一类的每个div

例如:

<div class='slide' data-slide=''></div>
<div class='slide' data-slide=''></div>
<div class='slide' data-slide=''></div>

我正在尝试使用以下代码,但它所做的只是找到lnumber而不是索引:

$( ".slide" ).each(function( index ) {
$('.slide').attr( 'data-slide',''+index+'');
});

我希望它产生以下内容:

<div class='slide' data-slide='1'></div>
<div class='slide' data-slide='2'></div>
<div class='slide' data-slide='3'></div>

有什么想法吗?

3 个答案:

答案 0 :(得分:9)

.attr()将一个函数作为第二个参数,它可以返回必须赋值给属性的值

$(".slide").attr('data-slide', function (index) {
    return index + 1;
});

演示:Fiddle

答案 1 :(得分:3)

each()块内,this将引用迭代中的当前元素。

$(".slide").each(function(index) {
    $(this).attr('data-slide', index + 1);
});

答案 2 :(得分:2)

<击> Fiddle DEMO

<击>
$(".slide").each(function (index) {
    $(this).data('slide', index);
});

<击>

Updated Fiddle DEMO

$(".slide").each(function (index) {
    $(this).attr('data-slide', index+1);
});