problem z getElementsByTagName

0

Witam,


var li  = document.getElementsByTagName("li");
li[2].className = "active";

var activeElements = document.getElementsByClassName("active");

var activeLink = activeElements[0].getElementsByTagName("a"); // tutaj wyskuje mi błąd "activeElements[0].getElementsByTagName is not a function

var activeLink2 = activeElements.querySelector('a'); //wpisanie .active a oraz active > a jako argument metody nie zmienia wyniku

console.log("activeLink2"); // Zwraca Null


w moim skrypcie do elementu li dodałem klasę active przy zastosowaniu metody document.getElementsByTagName, w następnej kolejności chciałem złapać element o tagu a będący dzieckiem elementu o klasie active próbując ponownie wykorzystać metodę .getElementsByTagName, jednak w tym przypadku pojawia się błąd "getElementsByTagName is not a function", z kolei przy zastosowaniu querySelector otrzymuje wynik null, pomimo iż w kodzie html oczywiście istnieje element a w elemencie li o klasie active.

Czy istnieje jakiś sposób w którym moge złapać element o określonym tagu znajdujący się w elemencie o określonej klasie? Proszę o pomoc.

1

console.log("activeLink2"); // Zwraca Null <-- to nie zwróci nulla tylko activeLink2 bo masz cudzysłowa

activeElements to HTMLCollection więc querySelector na nim nie zadziała musisz najlepiej zmienić go na array następnie przy pomocy forEach() możesz przeszukać wszystkie elementy z HTMLCollection i push() dać do array

https://jsfiddle.net/4L0htvam/

Następnym razem rób Od razu przykład na jsfiddle by szybciej otrzymać pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1