У меня есть HTML:
<div class="dropdown">
<button class="dropbtn">Game Design</button>
<div class="dropdown-content">
<a id="GameIdea" href="GameIdea.html">Link 1</a>
<a id="GameMechanics" href="GameMechanics.html">Link 2</a>
<a id="GameCharacters" href="GameCharacters.html">Link 3</a>
<a id="Inspiration" href="Inspiration.html">Link 3</a>
</div>
</div>
И JavaScript:
var anchor = document.getElementById(pathShort); //e.g. pathShort == GameIdea
var anchorParent = anchor.parentNode;
var button = anchorParent.previousSibling;
button.classList.add("active");
Проблема в том, что я не хочу элемент привязки: document.getElementById(pathShort);
Мне нужен элемент кнопки, поэтому, как вы можете видеть, я использую anchor.parentNode;
, чтобы получить div
, в котором находится якорь, а затем anchorParent.previousSibling;
, чтобы получить элемент рядом с div
, до, а не после.
Я думал, что это будет работать, но в консоли я получаю ошибку Cannot read property 'add' of undefined
, поэтому переменная button
должна быть эффективной null
или empty
, что означает мой метод Обход DOM до вызова add не работает.