Hirdetés

Keresés

Új hozzászólás Aktív témák

  • fordfairlane
    veterán

    sziasztok.

    Egyszerű kérdés, de nem tudok rájönni :(

    Van egy oldal, ahonnan javascripttel lekérem az oldalon lévő gombokat így:
    var btns = document.getElementsByTagName('button');
    console.log(btns);

    A konzolos kiiratás eredménye itt látható:

    Szerintem ebből az látszik, hogy a btns tömb egy 1 hosszúságú button elemeket tartalmazó tömb.
    Mégis.. ha utána megpróbálom elérni, vagy kiiratni a btns tömb nulladik indexű elemét akkor undefet kapok:S

    tehát

    var btns = document.getElementsByTagName('button');
    console.log(btns[0]);

    undefined lesz.

    Ötlet?

    megj: még ha nem is tömb, hanem objekt, akkor sem működik, mert a for ciklussal történő bejárás, és az elemek kiiratása sem hozott eredményt. :/

    Nekem ez működik jól Firefoxban és Chromeban. Nem hibás a html markupod, vagy nem lehet az, hogy a script előbb fut le, mint kéne?

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script type="text/javascript">
    function valami() {
    var btns = document.getElementsByTagName("button");
    console.log(btns[0]);
    }
    window.onload = valami;
    </script>
    </head>
    <body>
    <button id="egy">gomb egy</button>
    </body>
    </html>

  • Sk8erPeter
    nagyúr

    sziasztok.

    Egyszerű kérdés, de nem tudok rájönni :(

    Van egy oldal, ahonnan javascripttel lekérem az oldalon lévő gombokat így:
    var btns = document.getElementsByTagName('button');
    console.log(btns);

    A konzolos kiiratás eredménye itt látható:

    Szerintem ebből az látszik, hogy a btns tömb egy 1 hosszúságú button elemeket tartalmazó tömb.
    Mégis.. ha utána megpróbálom elérni, vagy kiiratni a btns tömb nulladik indexű elemét akkor undefet kapok:S

    tehát

    var btns = document.getElementsByTagName('button');
    console.log(btns[0]);

    undefined lesz.

    Ötlet?

    megj: még ha nem is tömb, hanem objekt, akkor sem működik, mert a for ciklussal történő bejárás, és az elemek kiiratása sem hozott eredményt. :/

    Hát ez tényleg furcsa, mert ennek működnie kellene.
    Tudsz felrakni jsFiddle-re egy példát? (Mondjuk tuti az lesz, hogy az meg működni fog rendesen. :DDD) Az a baj, hogy ennyiből nehéz megmondani, mi a helyzet.

  • martonx
    veterán

    sziasztok.

    Egyszerű kérdés, de nem tudok rájönni :(

    Van egy oldal, ahonnan javascripttel lekérem az oldalon lévő gombokat így:
    var btns = document.getElementsByTagName('button');
    console.log(btns);

    A konzolos kiiratás eredménye itt látható:

    Szerintem ebből az látszik, hogy a btns tömb egy 1 hosszúságú button elemeket tartalmazó tömb.
    Mégis.. ha utána megpróbálom elérni, vagy kiiratni a btns tömb nulladik indexű elemét akkor undefet kapok:S

    tehát

    var btns = document.getElementsByTagName('button');
    console.log(btns[0]);

    undefined lesz.

    Ötlet?

    megj: még ha nem is tömb, hanem objekt, akkor sem működik, mert a for ciklussal történő bejárás, és az elemek kiiratása sem hozott eredményt. :/

    Ahogy a képernyő mentéseden is látható, te egy NodeList objektumot kaptál válaszul. Ez nem igazi tömb, nem tudsz belől kimondottan indexelve elemet lekérni.
    Viszont NodeList.firstChild, meg ilyesmi parancsokkal tovább tudod finomítani a lekérést, végül eljutva a célig.

Új hozzászólás Aktív témák