JavaScript: getElementsByClass - PullRequest
       23

JavaScript: getElementsByClass

0 голосов
/ 30 декабря 2010

Я пытаюсь сделать что-то простое, и сайт не тяжел для js, поэтому я не использую для этого js-фреймворк.

Я пытаюсь добавить прослушиватель кликов событий, я пытаюсь получить элемент по классу,Я нашел следующую функцию + другие, которые я пробовал, но по какой-то причине никто из них не находит элементы.

function getElementsByClass( searchClass, domNode, tagName) { 
    if (domNode == null) domNode = document;
    if (tagName == null) tagName = '*';
    var el = new Array();
    var tags = domNode.getElementsByTagName(tagName);
    var tcl = " "+searchClass+" ";
    for(i=0,j=0; i<tags.length; i++) { 
        var test = " " + tags[i].className + " ";
        if (test.indexOf(tcl) != -1) 
            el[j++] = tags[i];
    } 
    return el;
}
var els = getElementsByClass("wow");
alert(els.length);

У меня есть пара div с классом wow, тестирование, но я продолжаю получать 0.

Ответы [ 2 ]

3 голосов
/ 30 декабря 2010

Предполагая, что ваша функция работает правильно, делайте это, когда DOM готов или при загрузке окна.Или вызовите его перед конечным тегом тела.

DEMO : http://jsfiddle.net/rXApk/

1 голос
/ 30 декабря 2010

Атрибут class принимает пробел список имен классов, а не список через запятую.

Ваш тест не будет соответствовать wow,, поскольку выглядит как wow.

...