關(guān)于過濾空節(jié)點(diǎn)的看法
利用循環(huán)得到有效的節(jié)點(diǎn),即過濾無效節(jié)點(diǎn),可以編寫函數(shù)備用。思路是這樣的:當(dāng)type為1時(shí)即為元素節(jié)點(diǎn),也就是有效節(jié)點(diǎn),可以暫存起來,當(dāng)type為3時(shí)就是文本節(jié)點(diǎn)了,也就是無效節(jié)點(diǎn),但是這里有個(gè)情況是:節(jié)點(diǎn)集里確實(shí)有文本節(jié)點(diǎn),你不可以視為無效值,所以需要判斷其value值的長(zhǎng)度如果大于5,那么就是有效節(jié)點(diǎn),為什么大于5呢?我們?cè)诰帉懘a的時(shí)候,經(jīng)常要換行,那么這個(gè)換行符就被視為節(jié)點(diǎn),且為文本節(jié)點(diǎn),長(zhǎng)度為5,這個(gè)我是在IE下檢驗(yàn)的,其他瀏覽器大家可以試試。
關(guān)于節(jié)點(diǎn)集:返回節(jié)點(diǎn)集的方法很多,例如:getElementsByName(通過name獲得節(jié)點(diǎn)集),childNodes(通過訪問子節(jié)點(diǎn)獲得節(jié)點(diǎn)集)等!
for(let i=0;i<list.length;i++){
????//list指獲得的節(jié)點(diǎn)集
???? var n=list[i].nodeName; //節(jié)點(diǎn)名
???? var v=list[i].nodeValue; //節(jié)點(diǎn)值
???? var t=list[i].nodeType; //節(jié)點(diǎn)類型
???? if(t===1){//當(dāng)為元素節(jié)點(diǎn)
???? ???? s+="Name:"+n+";Value:"+v+";Type"+t+"<br />";
???? //當(dāng)為文本節(jié)點(diǎn)且內(nèi)容長(zhǎng)度>5時(shí)
???? }else if(t===3&&v.length>5){
???? ???? s+="Name:"+n+";Value:"+v+";Type"+t+"<br />";
???? }
注意:以上純屬個(gè)人測(cè)試,不做為學(xué)習(xí)依據(jù),僅作為交流!
2019-05-05
優(yōu)秀啊