问个关于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)
}
展开
 我来答
zzqkillyou
2010-06-05 · TA获得超过1091个赞
知道小有建树答主
回答量:942
采纳率:0%
帮助的人:748万
展开全部
parentElement 是父节点。类型是 element,parentElement是ie专用的,ff没有,3c 标准是使用 parentNode 属性,调用时传父节点对象;oElm是document对象 或类型为element的节点对象
百度网友88fd30c7a1
2010-06-08 · TA获得超过375个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:423万
展开全部
//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)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朋友火箭9K
2010-06-05 · TA获得超过2823个赞
知道大有可为答主
回答量:4676
采纳率:0%
帮助的人:3490万
展开全部
楼主推荐你用jquery框架

这个一句话搞定

假设 class="c1"

$(".c1")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式