Как открыть или закрыть спойлер details на JavaScript и jQuery

Варианты реализации от AI ChatGPT-4


В недавней разработке возникла необходимость управлять состоянием HTML спойлера details. Решение было мне в общих чертах известно,  но по уже сложившийся традиции решил задать сей вопрос AI ChatGPT-4. Вопрос дословно выглядел так:

Нужно открыть или закрыть спойлер details вложенный в блок div с атрибутом data-comblock="block". Реализовать на javascript или jQuery.

Ответ от AI ChatGPT-4:
Вы можете использовать следующий код на JavaScript, чтобы открыть или закрыть спойлер details внутри блока div с атрибутом data-comblock="block":

JS
// Получаем блок div
const block = document.querySelector('div[data-comblock="block"]');

// Получаем details внутри блока div
const details = block.querySelector('details');

// Открываем или закрываем details в зависимости от его текущего состояния
if (details.hasAttribute('open')) {
  details.removeAttribute('open');
} else {
  details.setAttribute('open', true);
}

Если вы хотите использовать jQuery, то можете использовать следующий код:

JS
// Получаем блок div
const $block = $('div[data-comblock="block"]');

// Получаем details внутри блока div
const $details = $block.find('details');

// Открываем или закрываем details в зависимости от его текущего состояния
$details.prop('open', !$details.prop('open'));

Обратите внимание, что в последней строке кода мы используем метод prop, который позволяет установить атрибут open равным true или false в зависимости от текущего состояния.

Дата публикации: 

ТОП 10 случайных публикаций



Сайт разработан студией © WEB-VidST   


Яндекс.Метрика