日期:2014-05-16  浏览次数:20372 次

Javascript获取class的值问题

//className是传进来的类名称,tag是为了加强过滤,比如所有td下面的class或者input下面的class
function getElementByClassName(className,tag)
{
//获取所有传进来的标签元素的节点
var allTags = document.getElementsByTagName(tag);
var matchingElements = new Array();
//对className做了个正则表达式
className = className.replace(/\-/g,"\\-");
var regex = new RegExp("(|\\s)"+className+"(\\s|$)");

var element;
//对所有的tag里面进行循环
for(var i=0;i<allTags.length;i++)
{
element = allTags[i];
if(regex.test(element.className))
{
matchingElements.push(element);
}
}
return matchingElements;
}




  //对className做了个正则表达式
className = className.replace(/\-/g,"\\-");
var regex = new RegExp("(|\\s)"+className+"(\\s|$)");
能不能特别解释下这个部分的内容啊?



跪求~~~~~~~

------解决方案--------------------
\\s 匹配空白
$ 匹配结尾
"(|\\s)" 就是说 className 前面可以有一个空白字符,或者没有
 "(\\s|$)" 是指 className 后面可以有一个空白字符,或者结尾