问个关于javascript中getElementsByClassName的问题
functiongetElementsByClassName(className,parentElement){varelems=($(parentElement)||d...
function getElementsByClassName(className, parentElement){
var elems = ($(parentElement)||document.body).getElementsByTagName("*");
var result=[];
for (i=0; j=elems[i]; i++){
if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
result.push(j);
}
}
return result;
}
网上找到上面这个函数来实现这个效果
请问这个函数中的parentElement这个参数是什么?调用时应该填什么?
还有下面这个种的oElm是什么?
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)
} 展开
var elems = ($(parentElement)||document.body).getElementsByTagName("*");
var result=[];
for (i=0; j=elems[i]; i++){
if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
result.push(j);
}
}
return result;
}
网上找到上面这个函数来实现这个效果
请问这个函数中的parentElement这个参数是什么?调用时应该填什么?
还有下面这个种的oElm是什么?
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)
} 展开
3个回答
展开全部
//parentElement代表父节点对象
//className代表css中的类
function getElementsByClassName(className, parentElement){
//如果父节点对象是空,则默认是body对象,并取得所有子节点
var elems = ($(parentElement)||document.body).getElementsByTagName("*");
//将有与className相同的元素保存在这里
var result=[];
//遍历
for (i=0; j=elems[i]; i++){
//如果相同保存进result数组中
if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
result.push(j);
}
}
//返回数组
return result;
}
===========================================
//跟上面的的差不多,这个是用正则来判断的
//oElm还是父节点对象
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)
}
//className代表css中的类
function getElementsByClassName(className, parentElement){
//如果父节点对象是空,则默认是body对象,并取得所有子节点
var elems = ($(parentElement)||document.body).getElementsByTagName("*");
//将有与className相同的元素保存在这里
var result=[];
//遍历
for (i=0; j=elems[i]; i++){
//如果相同保存进result数组中
if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
result.push(j);
}
}
//返回数组
return result;
}
===========================================
//跟上面的的差不多,这个是用正则来判断的
//oElm还是父节点对象
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)
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主推荐你用jquery框架
这个一句话搞定
假设 class="c1"
$(".c1")
这个一句话搞定
假设 class="c1"
$(".c1")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询