亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

封裝getbyclass方法怎么理解

for前面那一段勉強能看懂,for下面那一段,到push哪里就懵了。會的朋友有空的話,詳細地給我解析吧,拜托了~!我會采納詳細通俗易懂的答復的

正在回答

2 回答

function getByClass(clsName,parent){ ?//clsName指代的是要獲得的元素的classname,parent指代的是要獲得元素的父元素,這里是通過父元素找到classname為指定的clsName的子代元素,從而獲得指定的子代元素,并對此子代元素進行后續的操作。

var oParent=document.getElementById(parent), // ?通過ID獲得父元素

????elems=[], ? //用來存放獲取的所有子代元素

????elements=Oparent.getElementByTagName('*'); ? //獲取父元素后的所有子代元素

????for(var i=0,len=elements.length;i<len;i++){ ?//通過遍歷數組elements中的所有元素,找到classname為指定的clsName的元素

????????if(elements[i].classname==clsName){

????????????elems.push(elements[i]); ? ? //將元素保存到數組中

}

}

return elems; ? //當調用這個函數時,獲得的就是想得到的元素了。

}

3 回復 有任何疑惑可以回復我~
#1

HackerX 提問者

非常感謝!
2016-05-02 回復 有任何疑惑可以回復我~
#2

Dream0703

為什么getElementById和getElementByTagName可以直接用,而getElementByclassName要封裝呢?
2016-05-09 回復 有任何疑惑可以回復我~
#3

rainy_li3676598 回復 Dream0703

因為在CSS中, classname可以有很多個, 一個類的樣式, 可以用在無數個DIV或者span,或者任何一個元素中
2016-10-24 回復 有任何疑惑可以回復我~

判斷元素的className是否為clsName,如果是,則將它加入eles的數組,不是則不加。最后返回eles這個數組吧。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

封裝getbyclass方法怎么理解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號