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

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

為什么我這樣寫頁面崩潰了

function?get_previousSibling(i){
????????var?a?=?i.previousSibling;
????????while(a?&&?a.nodeType?!=?1){
????????????a=?i.previousSibling;
????????}
????????return?a;
????}
????var?b?=?document.getElementsByTagName('li')[1];
????document.write(b.nodeName);
????document.write('?=?');
????document.write(b.innerHTML+'<br>');
????
????var?c?=?get_previousSibling(b);
????if(c!=null){
????????document.write(c.nodeName);
????????document.write('?=?');
????????document.write(c.innerHTML);
????}else{
????????document.write('這個是空節點');
????}

我這樣寫頁面崩潰了,我感覺沒有啥問題.....看不出來問題,然后我把

?while(a?&&?a.nodeType?!=?1)

改成

?while(i?&&?i.nodeType?!=?1)

就不會崩潰 ?還可以運行

正在回答

3 回答

第四行:a = i.previousSibling; 改為 :a=a.previousSibiling;

因為你前面那種寫法 如果a是文本的話? 就會一直重復這句話而不是說跳過這個節點去判斷前一個節點,

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

while(a?&&?a.nodeType?!=?1)是排除非元素節點

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

while循環里面的a=?i.previousSibling; 改為 a= a.previousSibling才對,while循環的目的就是尋找過濾非空白節點的,當滿足while循環就說明a的previous是空白節點,所以應該再找a的previous的previous

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

舉報

0/150
提交
取消

為什么我這樣寫頁面崩潰了

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

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

幫助反饋 APP下載

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

公眾號

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