Napisz funkcję getElementsByClassName, która pobierze wszystkie elementy ze strony o danej klasie i będzie działać dla IE < 8

Dziś wrzucam artykuł o tym, jak napisać funkcję, która będzie zwracała elementy ze strony o podanej klasie.

O ile w nowszych przeglądarkach moglibyśmy użyć po prostu document.getElementsByClassName(‚nazwaKlasy’), o tyle w starych IE6/7 takiej metody nie ma i trzeba ją napisać samodzielnie.

Jest to pytanie z procesu rekrutacyjnego, na które nie odpowiedziałam od razu, natomiast od razu po spotkaniu, napisałam.

 

Rozwiązanie:

function getElementsByClassName(className) {

    let elements = [];

    let elems = document.all;

    for(let i = 0; i < elems.length; i++ ) {

        if(elems[i].className === className) {

            elements.push(elems[i]);

        }

    }

    return elements;

}