У меня есть набор элементов DOM, которые я хочу показывать только тогда, когда пользователь установил контрольный флажок. Все эти предметы имеют общий класс и изначально скрыты:
.spec { display:none; }
В обработчике щелчка флажка у меня изначально было следующее,
который работал хорошо для существующих элементов. Однако таблицы динамически генерируются с помощью AJAX, и при добавлении новых элементов с помощью класса «spec» они не отображаются, если установлен флажок .
// Basic jQuery show/hide
if (btn.checked)
$('.spec').show();
else
$('.spec').hide();
Поскольку в моем случае это один и тот же модуль JS, я всегда мог просто повторно выполнить этот код после добавления в DOM. Но в целом это может быть не так, поэтому мой вопрос:
Как обычно jQuery решает эту проблему?
Поскольку функции jQuery show / hide изменяют element.style, а не
сам объект стиля, в итоге я написал плагин jQuery, который изменяет
таблица стилей, которая отлично работает, но кажется слишком убитой, поэтому вопрос.
var nval = btn.checked ? '' : 'none';
$.styleSheet('.spec', 'display', nval );