//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|$)");
能不能特别解释下这个部分的内容啊?跪求~~~~~~~
解决方案 »
- 这段代码是什么意思啊
- 新手跪求各位大大们一个关于函数里面套用函数的问题!!
- JAVASCRIPT怎么去调试?
- 用javaScri操作实现从table中删除一行!javacript高手帮忙啊!
- 30分求高人,怎么用javascript设置body的style属性为overflow-x:hidden?
- 请问如何用JS动态控制一个页面的TITLE呀?
- 有没有人写过在jsp里用js动态生成一个树?
- 通过脚本生成了一个复选框的树型目录,通过点击其中的一个父节点复选框,如何能实现这个父节点复选框下所有子节点也被选中。
- 如何得到另一个frame的location?
- 如何去掉这个右键时出现的对话框的加密.
- ext dateView XTemplate求解答
- ASP.NET空间图片上传问题(用javascript),求高手帮助
这句话是什么意思;"(|\\s)" "(\\s|$)"这2个符号是什么意思;回答那么空洞谁会懂啊
$ 匹配结尾
"(|\\s)" 就是说 className 前面可以有一个空白字符,或者没有
"(\\s|$)" 是指 className 后面可以有一个空白字符,或者结尾
className = className.replace(/\-/g,"\\-");
这个多余的是什么意思呢?
那2个符号分别代表啥?
我去查了下正则表达式的API好像没有这种表示的啊
因为className要在var regex = new RegExp("(|\\s)"+className+"(\\s|$)");中构成正则模式,所以要对className中的-进行转义吧