javascript:getElementsByClass
我希望做一些简单的事情,而且这个网站没有太多的js,所以我没有使用js框架 我正在尝试添加事件单击侦听器,我正在尝试按类获取元素。我找到了下面的函数+我尝试过的其他函数,但由于某种原因,它们都找不到元素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 = '*';
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就绪或窗口加载时执行。或者在结束正文标记之前调用它
演示: