У меня проблема с методом removeChild
. Браузер дает мне ошибку типа.removeChild не работает, несмотря на вызов от родителя
Вот мой код:
HTML
<header>
<div id="header-div">
<img id="logo-image" src="img.jpg" alt="image">
</div>
<div class="mobile-hamburger">
<a href="#menu" class="box-shadow-menu">text</a>
</div>
</header>
JS
var windowWidth = parseInt(window.innerWidth);
if (windowWidth >= 700) {
let headerTag = document.getElementsByTagName("header");
let hamburgerMenu = document.getElementsByClassName("mobile-hamburger");
hamburgerMenu.headerTag.removeChild(hamburgerMenu);
}
Я проверяю, когда ширина окна 1920px. Я также вижу, что браузер захватывает тег <header>
и <div>
с классом "mobile-hamburger"
в инструменте отладки. Так что все в порядке.
Не удается найти ошибку с номером removeChild
. Я удаляю элемент после вызова его родителя.
Вот jsfiddle с этим кодом: https://jsfiddle.net/u3r9m5f0/
'getElementsByClassName' возвращает коллекцию. Используйте цикл. –
Не знаете, на что надеялись «hamburgerMenu.headerTag». «HeaderTag» - это переменная, которая также является коллекцией и не связана с коллекцией «hamburgerMenu». –
Просто FYI, нет смысла использовать JS для этой функции - вы можете просто сделать это в простом CSS. – junkfoodjunkie