【问题标题】:javascript: getElementsByClassjavascript: getElementsByClassname
【发布时间】:2011-06-01 06:29:39
【问题描述】:

我想做一些简单的事情,并且该网站没有大量的 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。

【问题讨论】:

    标签: javascript dom addeventlistener getelementsbyclassname


    【解决方案1】:

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

    您的测试与 wow, 不匹配,因为它正在寻找 wow

    【讨论】:

      【解决方案2】:

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

      演示http://jsfiddle.net/rXApk/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-07
        • 2015-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-10
        • 1970-01-01
        相关资源
        最近更新 更多