改变html元素

时间:2012-02-16 11:02:14

标签: jquery html

我有24'dd',我想获得:
'dd id =“dede0” 'dd id =“dede1” ....如果我用这个:

var i=0;  
         var dede="dede";  
         var dedos="dede"  
          $('dd').each(function(){

             dede=dede&i;                         
             $('dd').attr("id",dede);
             i++;
             dede=dedos;
          });

我改变了一般'dd'的id但是,我可以改变每个特定的dd id's ???

非常感谢,

阿尔瓦罗

3 个答案:

答案 0 :(得分:1)

哟应该试试

  $('dd').each(function(index, el){
     //you could also use el.id                         
     this.id = "dede"+index;
  });

当您使用each() this进行迭代时,引用当前元素,您可以使用index属性来“索引”注释中建议的各种ID

答案 1 :(得分:1)

试试这个:

var i = 0;  
var dede = "dede";  
var dedos = "dede"  

$('dd').each(function() {
    dede = dede + i;                         
    $(this).attr("id", dede);
    i++;
    dede = dedos;
});

答案 2 :(得分:1)

您的代码的问题在于您使用<dd>再次选择循环中的所有$('dd')元素,因此每次迭代都会设置所有<dd> ID。因此,在循环结束时,所有元素都具有相同的ID,无论最新的i有效。要解决此问题,您可以使用this(或jQuery each()方法提供的e)表示的当前元素。

我能想到的最紧凑的解决方案是:

$('dd').each(function(i, e){                      
  e.id = 'dede' + i;
});​