关注前端

document.getElementsByClassName

当我们在用javascript对DOM操作中,有时需要能直接获取标签元素的className就会很方便得多,下面写一个document.getElementsByClassName函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
document.getElementsByClassName = function(className,oBox) 
{
	//适用于获取某个HTML区块内部含有某一特定className的所有HTML元素
	this.d= oBox || document;
	var children = this.d.getElementsByTagName('*') || document.all;
	var elements = new Array();
	for (var ii = 0; ii < children.length; ii++) {
		var child = children[ii];
		if(child.className==className)
		{
		    elements.push(child);
			continue;
		}
		var classNames = child.className.split(' ');
		for (var j = 0; j < classNames.length; j++) 
		{
			if (classNames[j] == className) 
			{
				elements.push(child);
				continue;
			}
		}
	}
	return elements;
}
返回顶部