javascript:getElementsByClass

javascript:getElementsByClass,javascript,dom,addeventlistener,getelementsbyclassname,Javascript,Dom,Addeventlistener,Getelementsbyclassname,我希望做一些简单的事情,而且这个网站没有太多的js,所以我没有使用js框架 我正在尝试添加事件单击侦听器,我正在尝试按类获取元素。我找到了下面的函数+我尝试过的其他函数,但由于某种原因,它们都找不到元素 function getElementsByClass( searchClass, domNode, tagName) { if (domNode == null) domNode = document; if (tagName == null) tagName = '*';

我希望做一些简单的事情,而且这个网站没有太多的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);
函数getElementsByClass(searchClass、domNode、tagName){
如果(domNode==null)domNode=document;
如果(标记名==null)标记名='*';
var el=新数组();
var tags=domNode.getElementsByTagName(标记名);
var tcl=“”+搜索类+”;

对于(i=0,j=0;i类属性采用空格分隔的类名列表,而不是逗号分隔的列表


您的测试将不匹配
wow,
,因为它查找
wow

类属性使用空格分隔的类名列表,而不是逗号分隔的列表


您的测试将与
wow,
不匹配,因为它会查找
wow

如果您的函数工作正常,请在DOM就绪或加载窗口时执行。或者在结束正文标记之前调用它


DEMO

假设您的函数工作正常,请在DOM就绪或窗口加载时执行。或者在结束正文标记之前调用它

演示