селектор изображений jquery не работает в IE7
-
03-07-2019 - |
Вопрос
Итак, у меня есть некоторый 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;}
Пойди разберись.
Решение
в этом сценарии лучше всего использовать addClass и removeClass.Проще в обслуживании.Можете ли вы вставить свой полный html-код, чтобы я мог видеть ваш doctype и т.д.
Не связан с StackOverflow