使用jquery .each遍历每个图像,为每个图像添加不同的ID?

时间:2016-03-22 11:02:16

标签: jquery

我需要增加每个图像的ID,例如"R" + i,以便对于标题为Router的每个图像,它变为R1 R2等。

这是我的代码:

var incr = 1;

var router = $(this).find("img[title='Router']");

if(router.length > 0)
    {
      router.each(function () {
      router.attr('id', 'R' + incr);
      });
     incr++
    }

现在输出的是每个标题为Router的图像都会更改为当前路由器数量。也就是说,如果路由器的数量是3,那么对于具有标题Router的每个图像,ID对于它们中的每一个都变为R3。
我该如何解决这个问题?请帮忙。

2 个答案:

答案 0 :(得分:0)

您需要移动循环内的incr++

var router = $(this).find("img[title='Router']"),
    incr   = 1;

if(router.length > 0){
   router.each(function () {
     router.attr('id', 'R' + incr);
     incr++;
   });
}

甚至您可以使用index提供的each()

var router = $(this).find("img[title='Router']");
if(router.length > 0){
   router.each(function (i) {
     router.attr('id', 'R' + (i+1));
   });
}

答案 1 :(得分:0)

您可以使用以下代码

var incr = 1;
$("img[title='Router']").each(function() {
 this.attr('id','R'+ incr);
 incr++;
});