Задать вопрос
@LilJane

Как победить ошибку «Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null»?

Коллеги, имеется код (приведенный ниже). При его проигрывании в браузере, консоль даёт ошибку "Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null(anonymous function) @ (index):149"
помогите разобраться

<script>
var changeClass = function (r,className1,className2) {
    var regex = new RegExp("(?:^|\\s+)" + className1 + "(?:\\s+|$)");
    if( regex.test(r.className) ) {
        r.className = r.className.replace(regex,' '+className2+' ');
    }
    else{
        r.className = r.className.replace(new RegExp("(?:^|\\s+)" + className2 + "(?:\\s+|$)"),' '+className1+' ');
    }
    return r.className;
};

var menuElements = document.getElementById('menu');
menuElements.insertAdjacentHTML('afterBegin','<button type="button" id="menutoggle" class="navtoogle" aria-hidden="true">Menu</button>');  <b>ОШИБКА в этой строке</b>
//  Toggle the class on click to show / hide the menu
document.getElementById('menutoggle').onclick = function() {
    changeClass(this, 'navtoogle active', 'navtoogle');
}
</script>
  • Вопрос задан
  • 13756 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
1. Можно еще засунуть свой скрипт перед самым закрытием тега BODY
2. Для замены классов посмотрите на это: https://developer.mozilla.org/en-US/docs/Web/API/E...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽