Полный цикл в digital

Скрыт элемент или нет, функция isNodeHidden ()

Часто приходится динамически показывать и скрывать элементы: от валидации форм до реактивных SPA-разметок. Метод BX.isNodeHidden(node) возвращает true, если переданный DOM-узел скрыт, и false, если отображается. Под «скрыт» понимается любой из вариантов:

  • style="display:none" или унаследованный display:none
  • type="hidden" у <input>
  • элемент находится внутри скрытого родителя
  • элементу назначен CSS-класс c visibility:hidden или opacity:0 и одновременным pointer-events:none (двойная проверка ядра)
BX.isNodeHidden(
    // любой DOM-узел (Element, HTMLElement, Text и т.д.)
    node
)

Минимальный пример

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <title>Демо BX.isNodeHidden</title>
    <!-- Подключаем ядро Битрикс -->
    <script src="/bitrix/js/main/core/core.js"></script>
    <style>
        #panel, #result {
            cursor:pointer;
            width:280px; margin:12px auto; padding:8px;
            text-align:center; border-radius:6px;
            background:#c5c5c5; color:#fff; box-shadow:0 0 10px #333;
            user-select:none;
        }
    </style>
</head>
<body>
<div id="panel">Проверить скрытость элементов</div>
<input id="t1" type="text" maxlength="20" value="t1">
<input id="t2" type="hidden" maxlength="20" value="t2">
<div id="result" style="display:none"></div>
<script>
BX.ready(function () {
    // Клик по панели запускает проверку
    BX.bind(BX('panel'), 'click', function () {
        const resText = [
            't1 скрыт: ' + BX.isNodeHidden(BX('t1')),
            't2 скрыт: ' + BX.isNodeHidden(BX('t2'))
        ].join(' | ');
        BX.adjust(BX('result'), {
            style : {display: 'block'},
            text  : resText
        });
    });
});
</script>
</body>
</html>
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!