我有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 ???
非常感谢,
阿尔瓦罗
答案 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;
});