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

关于getElementsByClassName的一个问题
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
这个函数 的strClassName = strClassName.replace(/-/g, "\\-");具体起到什么作用呢?替换后是什么效果呢

------解决方案--------------------
有什么效果要看样式的定义才知道...
------解决方案--------------------
把'-'替换成'\-',好像没什么必要,因为'-'不需要转义。