Javascript 使用jquery向class元素动态添加div id

Javascript 使用jquery向class元素动态添加div id,javascript,jquery,css,Javascript,Jquery,Css,在for循环内部,它始终采用相同的id,因为$('.传单标记图标')。attr('id',x)是一个类。 任何人都可以建议如何向类添加唯一id。在for循环中使用:eq选择器 var length = $('.leaflet-marker-icon').length; for (var x = 0; x < length; x++) { $('.leaflet-marker-icon').attr('id', x); } 在for循环中使用:eq选择器 var length =

在for循环内部,它始终采用相同的id,因为
$('.传单标记图标')。attr('id',x)
是一个类。
任何人都可以建议如何向类添加唯一id。

在for循环中使用
:eq
选择器

var length = $('.leaflet-marker-icon').length;
for (var x = 0; x < length; x++) {
    $('.leaflet-marker-icon').attr('id', x);
}

在for循环中使用
:eq
选择器

var length = $('.leaflet-marker-icon').length;
for (var x = 0; x < length; x++) {
    $('.leaflet-marker-icon').attr('id', x);
}

继续你的解决方案:(我不明白为什么人们试图展示他们所知道的而不纠正你)

试试这个:

$('.leaflet-marker-icon:eq(' + x + ')').attr('id', x);
var=$('.传单标记图标')//让我们缓存数组
变量长度=u2;长度//让我们缓存长度

对于(var x=0;x到继续您的解决方案:(我不明白为什么人们试图展示他们所知道的而不纠正您)

试试这个:

$('.leaflet-marker-icon:eq(' + x + ')').attr('id', x);
var=$('.传单标记图标');//让我们缓存数组
var length=\ u0.length;//让我们缓存长度

对于(var x=0;x您可以使用
.each()
迭代元素,并使用元素上下文(
this
)设置其属性值:

var _=$('.leaflet-marker-icon'); //let's cache the array
 var length = _.length; //let's cache the  length
    for(var x=0; x<length; x++) {
        _.eq(x).prop('id', x);
    }

您可以使用
.each()
迭代元素,并使用元素上下文(
this
)设置其属性值:

var _=$('.leaflet-marker-icon'); //let's cache the array
 var length = _.length; //let's cache the  length
    for(var x=0; x<length; x++) {
        _.eq(x).prop('id', x);
    }

您应该在动态添加
div
s的同时添加
id
,这将减少工作量。但如果您无法做到这一点,请尝试下面的代码

$('.leaflet-marker-icon').each(function(i){
  this.id=i;
});
正如Royi Namir所建议的,下面是实现您的解决方案的另一种方法

var count = 1;
$('.leaflet-marker-icon').each(function(){
  $(this).attr('id',count);
  count++;
});

您应该在动态添加
div
s的同时添加
id
,这将减少工作量。但如果您无法做到这一点,请尝试下面的代码

$('.leaflet-marker-icon').each(function(i){
  this.id=i;
});
正如Royi Namir所建议的,下面是实现您的解决方案的另一种方法

var count = 1;
$('.leaflet-marker-icon').each(function(){
  $(this).attr('id',count);
  count++;
});

创建一个变量并将其设置为零。使用,
each()
函数,添加一个与该变量相等的
id
属性,并将该变量增加1,以便分配给下一个元素

检查div元件的结果:

$(文档).ready(函数(){
//var i=0;
$('.传单标记图标')。每个(功能(i){
$(this.attr('id',i);
//i++;
});
});

1.
2.
3.

4
创建一个变量并将其设置为零。使用,
each()
函数,添加一个与该变量相等的
id
属性,并将该变量增加1,以便分配给下一个元素

检查div元件的结果:

$(文档).ready(函数(){
//var i=0;
$('.传单标记图标')。每个(功能(i){
$(this.attr('id',i);
//i++;
});
});

1.
2.
3.

4
由于选择器是类,因此您应该知道它返回一个集合。因此,在您的情况下,您可以使用以下选项:

$('.leaflet-marker-icon').each(function(i,n){
      $(this).attr('id',i);
 });
在使用jquery并为元素设置唯一ID时,可以使用
.attr('attribute',fn)

$('.传单标记图标').attr('id',函数(i){
返回i;
});

传单标记-icon1
传单标记-icon2
传单标记-icon3

传单-marker-icon4
因为您的选择器是class,所以您应该知道它返回一个集合。因此在您的情况下,您可以使用以下选项:

$('.leaflet-marker-icon').each(function(i,n){
      $(this).attr('id',i);
 });
在使用jquery并为元素设置唯一ID时,可以使用
.attr('attribute',fn)

$('.传单标记图标').attr('id',函数(i){
返回i;
});

传单标记-icon1
传单标记-icon2
传单标记-icon3

传单-marker-icon4
如何添加div,同时添加id。如何添加div,同时添加id。您可以使用
函数(i,n)
是的,这是个好主意,这样我就不必保留额外变量。让我添加它来回答。感谢您的建议:)您可以使用
函数(i,n)
是的,这是一个好主意,这样我就不必保留额外的变量。让我添加它来回答。感谢您的建议:)您可以使用
函数(I,n)
您可以使用
函数(I,n)
而无需对操作代码进行大量修改。回答得很好。
\ eq(x).prop('id',x)?@ArunPJohny tnx:-)
x
在不修改操作代码的情况下达到了这一点。回答得很好。
\ eq(x).prop('id',x)?@ArunPJohny tnx:-)
x