Удаление стиля [удаление/добавление класса по клику]

Как при повторном нажатии удалить добавленный стиль?

document.querySelector(’#menu-link’).addEventListener(‘click’, () => {
document.querySelector(‘nav’).classList.add(‘active’);
})

Наверное ты имеешь в виду класс (CSS класс).

document.querySelector('nav').classList.toggle('active'); Метод toggle делает именно что надо для твоего случая.

А ещё можешь подсказать, как отменить действие при повторном нажатии?

document.querySelector(".menu").onclick = function() {
document.body.style.overflow = ‘hidden’;
}

Не понятно что имеешь в виду. Хочешь убрать overflow: hidden при повторном нажатии? Или не применять второй раз стиль overflow: hidde?

Да, убрать overflow hidden, при повторном нажатии

Самый надежный подход для такого случая - хочешь добавить-убрать стиль, сделай это через класс. Как это было описано в твоем первом вопросе. Остальные подходы (как и тот что я привожу ниже) будут ограничены в своей применимости, неуниверсальны.

Можно, например, проверить значение стиля и ставить новый в зависимости от значения текущего.

if (document.body.style.overflow === 'hidden') {
	document.body.style.overflow = null
} else {
	document.body.style.overflow = 'hidden'
}

Да, то что надо. Спасибо друг, ты лучший!

1 симпатия