Redky

web前端开发/HTML/CSS/JavaScript

getElementsByClass

with one comment

在原生的JavaScript中,目前浏览器并不直接支持getElementsByClass, 但在工作过程中又要经常用来它. 而像jQuery等库,都已经很好的扩展了这一函数.

还是直接上函数吧:

function getElementsByClassName(cName,tName,ex){
	var rt = [],
		_class = new RegExp('\\b'+cName+'\\b'),
		tName =  tName || '*',
		i = 0,
		len,
		elems,
		classes;
	if(ex){
		elems = ex.getElementsByTagName(tName);
	}else{
		elems = document.getElementsByTagName(tName);
	}
	for(len = elems.length;i++){
		classes = elems[i].className;
		if(_class.test(classes)) rt.push(elems[i]);
	}
	return rt;
}

使用Google,找到的代码,都是在使用正则匹配时,不正确。在Jeremy Keith的网站上找到一个不错的(可惜当时没有保存address).不过找到了一个相关的dom操作ppt,但是得到class的函数写的不怎么好.

Written by jim

八月 13th, 2010 at 6:32 上午

Posted in JavaScript

Tagged with

One Response to 'getElementsByClass'

Subscribe to comments with RSS

  1. ppt做的不错,如果传dom对象进去查找class就更快了

    开心一百

    6 九 10 at 15:24

Leave a Reply