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ć?

2

możesz użyć querySelector albo querySelectorAll jeśli chcesz znaleźć ileś naraz
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
https://developer.mozilla.org/en-US/docs/Web/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ć.

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>

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

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