javascript:getElementsByClass

时间:2010-12-29 21:14:25

标签: javascript dom addeventlistener getelementsbyclassname

我希望做一些简单的事情,并且网站对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与班级哇,测试但我一直得到0。

2 个答案:

答案 0 :(得分:3)

假设您的功能正常工作,请在DOM准备就绪或窗口加载时执行此操作。或者在结束身体标记之前调用它。

DEMO http://jsfiddle.net/rXApk/

答案 1 :(得分:1)

class属性采用 space 分隔的类名列表,而不是以逗号分隔的列表。

您的测试与查找wow,的{​​{1}}不匹配。