Итак, у меня есть такой html:
<div id = "avatar_choices">
<label for = "id_choice_0">
<input id = "id_choice_0" type = "radio" name = "choice" value = "7" />
<img src = "someimage.jpg" />
</label>
<label for = "id_choice_1">
<input id = "id_choice_1" type = "radio" name = "choice" value = "8" />
<img src = "someimage2.jpg" />
</label>
</div>
И немного скрипта:
$('#avatar_choices input').hide();
$('#avatar_choices img').click(function(){
$('#avatar_choices img').css('border', '2px solid #efefef');
$(this).css('border', '2px solid #39c');
$(this).siblings('input').attr('checked', 'checked');
});
Цель состоит в том, чтобы позволить пользователю щелкать по параметрам изображения, выделяя один из них с помощью цвета границы.
Это отлично работает в FF. По какой-то причине в IE, когда я щелкаю изображение, щелкаю другое изображение, а затем пытаюсь щелкнуть первое, граница не изменится (хотя она и будет выбрана).
Обновлено: Мое решение оказалось наполовину случайным. Я изменил код на это из-за ответа redsquare:
$('#avatar_choices input').hide();
$('#avatar_choices img').click(function(){
$('#avatar_choices img').removeClass('selected');
$(this).addClass('selected');
$(this).siblings('input').attr('checked', 'checked');
});
где:
#avatar_choices img.selected{border:2px solid #39c;}
Иди разберись.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


лучше всего использовать addClass и removeClass в этом сценарии. Легче в обслуживании. Можете ли вы вставить свой полный HTML-код, чтобы я мог видеть ваш тип документа и т. д.
Таким образом, изменение вещей для использования addClass и removeClass устранило проблему. Иди разберись.