JavaScript

Почему javascript не добавляет класс к body через getattribute. Скрин тут

javascript
getattribute возвращает значение, а не устанавливает
ВГ
Валера Гетьман
610
Лучший ответ
Сергей Нечаев в книге метод может как добавлять так и изменять класс
getAttribute как уже сказали ничего не устанавливает.
Классы вообще по другому добавляются
document.body.style.backgroundColor = 'green';
если класс уже прописан в таблице стилей, то
body.className = 'className';
Илья Губарев
Илья Губарев
75 067
Сергей Нечаев в другом моем коде сетаттрибут добавляет класс
теперь эта штука вообще не работает у меня
Потому точки запятые пожалел
Даже если вы поставите то, что (правильно) подсказали в ваш скрипт - оно всё равно не сработает, потому что у вас там @ука всё неправильно!)))))

Браузер читает код сверху вниз. Когда натыкается на скрипт - он запрашивает id, который еще не загружен... выдает ошибку и идет дальше.

Нужно поставить скрипт в конце страницы, чтобы сначала HTML-элементы загрузились, потом скрипт начал работать.

• Вместо var a = 10; a = String( a ); можно сразу записать

var a = "10";

Всё, что написано внутри кавычек, и так является String.
Но т. к. он дальше нигде не используется - то и создавать не нужно...

• body тоже не нуждается в id... его можно достать через document.body;

• Так будет надежнее:

document.body.classList.add('s09');

Потому что .add сверху добавляет еще один класс к уже имеющимся... а

document.body.className = 's09';

тоже выдаст ему этот класс, но переписав всё, что было до этого. Т. е. если у body уже был другой класс - он пропадет, останется только s09

P.s. есть еще

.classList.remove('s09'); // удаляет указанный класс (с className это целая заморочка)
.classList.toggle('s09'); // убирает класс, если он есть... и добавляет, если его нет.
Егор Ялонецкий ты профессионал