если структура HTML не изменяется (дополнительные контейнеры не добавляются через AJAX), просто проанализируйте страницу onLoad (вроде как то, что предлагает Jasper), но вместо того, чтобы повторно выполнять анализ после каждого вызова AJAX, вы добавляете новый класс - давайте назовем его.HideMeInCertainCases
для удовольствия.Таким образом, вы можете скрыть / показать все, что вы хотите, с помощью простого селектора, когда вы хотите.Поэтому вместо этой строки: $(this).css('display', state);
используйте $(this).addClass('HideMeInCertainCases');
Когда происходит событие, о котором вы говорили, вы можете переключать состояние отображения с помощью этого селектора $("HideMeInCertainCases").toggleClass("hideMe")
.Непосредственное изменение атрибута display может нарушить ваш макет, поскольку узлы, содержащие текст, могут иметь разные дисплеи для начала (block, inline, inline-block ...).Конечно, .hideMe { display:none; }
должно быть где-то в вашей таблице стилей.Если вы хотите, чтобы макет оставался прежним и скрывал только содержимое, используйте visibility
вместо display