2014-02-09 2 views
0

У меня есть 32 изображения, и я надеялся, что следующий фрагмент присваивает каждому тегу img идентификатор от 1 до 32, но он назначает 32 всем идентификаторам. Где я делаю неправильно?jQuery каждый присваивать идентификатор с индексом

var img = $('img'); 
img.each(function(item){ 
    img.attr('id', item); 
}); 

ответ

2

Использование $(this) вместо img в каждой функции обратного вызова

var img = $('img'); 
    img.each(function(item){ 
     $(this).attr('id', item); 
    }); 

Примечание: индекс начинается с 0

DEMO

+0

Привет, почему $ (это), а не img? Извините, но я хотел бы лучше понять. Спасибо – Alex

+1

@Alex, 'img' относится к группе, где в качестве' $ (this) 'относится к отдельному элементу, на который ссылаются в каждом bloack – Satpal

+0

спасибо, это здорово :) – Alex

0

попробовать:

var img = $('img'); 

img.each(function(ind,item){ 
    $(item).attr('id', ind); 
}); 
Смежные вопросы