Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Некорректно работает toggleClass

Петр Верхов Мастер (1292), закрыт 4 года назад
есть html типа:
tr
td input(checkbox)
td div class="price"
закрывающие теги в наличии, тут просто html код не отображается нормально, поэтому в таком виде.
Задача при клике на tr перекрасить эту строчку и переключить инпут. Код:
$('.price').parent().parent().click(function() {
$(this).find('input').trigger('click');
$(this).toggleClass("clik");
});
Результат выполнения:
С чекбоксом всё ОК. Со строкой: tr class=" "
То есть он класс как-бы добавляет, но пустой. Ну и естественно при повторном клике ничего не меняется.
Код:
$('.price').parent().click(function() {
$(this).toggleClass("clik");
});
Результат выполнения:
td class="clik" Всё работает.
То есть и в записи я не ошибся.
Проблема точно не в обращении к элементу
$('tr').click(function() ведет себя точно так же.

Чем ему функции toggleClass может не нравиться строка таблицы?

З. Ы.: Чтобы исключить не нужные вопросы: Я знаю что такое label, но не имею ни малейшего желания править html на нескольких сотнях страниц.
Лучший ответ
Okean Мудрец (15144) 4 года назад
напиши всё в jsfiddle и дай ссылку для примера - там разберём всё.
Петр ВерховМастер (1292) 4 года назад
Да давно уже разобрался. trigger('click') по инпуту имитировал второй клик по строке, вот и получалось, что сколько бы раз я не кликнул позиция у toggleClass всегда "выключен".
Okean Мудрец (15144) ну молодец. Всегда если что-то спрашиваешь по js или подобным вещам - давай рабочий пример со ссылкой на "песочницу" - грамотный ответ будет дан быстрее. А иногда - и сам найдёшь ошибку.
Остальные ответы
Похожие вопросы