Czy da się chwycić klasę (nie ID) za pomocą getElementBy

0

Cześć,

o ile potrafię chwycić za pomocą document.getElementById("jakasnazwa"); diva który ma ID

<div id="jakasnazwa"></div>

to nie mogę sobie poradzić, aby chwycić diva, który nie ma id, tylko klasę

<div class="jakasnazwa"></div>

Czy jest to w ogóle możliwe?
Jak sobie z tym poradzić? Czy ktoś może mnie naprowadzić?

0

możesz użyć querySelector albo querySelectorAll jeśli chcesz znaleźć ileś naraz
https://developer.mozilla.org[...]eb/API/Document/querySelector
https://developer.mozilla.org[...]API/Document/querySelectorAll

I dajesz selektor taki jak w CSS (czyli jak chcesz uchwycić nazwę klasy to dajesz kropkę na początku: ".jakasnazwa")

1

W temacie który napisałeś kilka godzin temu problemem było to, że używałeś getElementByClass

Różnica jest taka, że ID jest unikatowe i możesz zrobić getElementById, ale przy klasach musi byc getElement[s], bo do klasy może być podpięte wiele rzeczy, a do ID tylko jedna.

document.getElementsByClassName("example");

I wynikiem jest wtedy kolekcja, a nie jeden item.

0

W tamtym temacie z przed kilku godzin nie wstawiłem kodu html w ``` i tak poszatkowało wypowiedź, że trafiła do kosza.
Dzięki za podpowiedzi, muszę to przetestować.

0

Walczyłem, ale nie poradziłem sobie. Chcę podmienić "Tytul" na "Nowy Tytul" (w sumie to powinien podmienić się automatycznie, po załadowaniu strony)

<div class="nazwaklasy">Tytul</div>
<script>
function myFunction () {
    var myelement = document.getElementsByClassName("nazwaklasy");
    myelement.innerHTML= "Nowy Tytul";
}

window.onload = myFunction ;
</script>

Co robię źle?

1
<div class="nazwaklasy">Tytul</div>
<script>
function myFunction () {
    var myelement = document.getElementsByClassName("nazwaklasy");
    myelement[0].innerHTML= "Nowy Tytul";
}

window.onload = myFunction() ;
</script>

@WeiXiao już napisał, że wynikiem tej funkcji jest kolekcja a nie jeden element.

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