Novitsky
@Novitsky
Веб-разработчик, дизайнер, фотограф

Как при нажатии на элемент добавлять и удалять class у body?

Как сделать с помощью jQuery, чтобы при нажатии на определенный элемент (блок, кнопка или ссылка) добавлялся class к body, а при повторном нажатии удалялся?

Нашел здесь на Тостере один скрипт:
(function() {
	var $body = document.body,
		$nav - icon = $body.getElementsByClassName('nav-icon')[0];

	if (typeof $nav - icon !== 'undefined') {
		$nav - icon.addEventListener('click', function() {
			$body.className = ($body.className == 'nav-active') ? '' : 'nav-active';
		});
	}
}).call(this);

По идее, он, как раз это и должен делать, но почему-то не работает.

Вместо этого, для этой строки:
$nav - icon = $body.getElementsByClassName('nav-icon')[0];
выдает ошибку: «Uncaught SyntaxError: Unexpected token -».
  • Вопрос задан
  • 1594 просмотра
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
$("div").click(function(){
   $("body").toggleClass("class");
});


выдает ошибку: «Uncaught SyntaxError: Unexpected token -».


13831364891379.jpg2 - 5 = Ёж

Мозг тоже бы выдал ошибку на подобное.

Если вы кто-то так переменную назвать попытался, то по логике надо было бы слитно написать. Хотя, все равно, работать не будет, т.к нельзя использовать минусы (они же тире и дефисы) в названии переменных, как и многие другие символы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
agmegadeth
@agmegadeth
Веб-разработчик в дизайн студии
опоздал)
$("block").click(function(event) {
	$("body").toggleClass('someclass');
});
Ответ написан
Ivanq
@Ivanq
Знаю php, js, html, css
Смешно аж. Переменную с пробелами и минусами или плюсами юзать нельзя. Замените поседнюю строку на
$navicon = $body.getElementsByClassName('nav-icon')[0];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы