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

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

看不懂,有沒有大神幫忙解釋一下這段代碼,主要是while的條件看不懂,謝謝

function get_previousSibling(n)
{
var x=n.previousSibling;
while (x &&?x.nodeType!=1)
? {
? x=x.previousSibling;
? }
return x;
}

正在回答

3 回答

主要是判斷之前緊跟的節點是不是空,Internet Explorer 會忽略節點間生成的空白文本節點(例如,換行符號),而其它瀏覽器不會忽略,所以要判斷一下。如果nodeType==1就說明是元素節點,就可返回x結束函數,如果不等于1就再向前找一個節點來跳過這個空白文本節點(?x=x.previousSibling;)

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

PengGuo

你好,那個小括號里面的n是什么意思?
2018-10-25 回復 有任何疑惑可以回復我~
#2

whiteDive 回復 PengGuo

傳一個參數進去
2018-10-30 回復 有任何疑惑可以回復我~

while里面的條件x已經被賦值n.previousSibling,也就是說x為n節點的前一個節點,如果前面沒有節點的話,就返回null,根據數據自動轉換類型規則,x=null;null=false;所以x=false那么條件不成立,就不執行循環體內的代碼了。我想后面的x.nodeType!=1你應該理解的吧。

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

你好,n.previousSibling中的previousSibling是什么意思


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

qq_mediocre_1

n節點之前的一個兄弟節點
2018-11-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

看不懂,有沒有大神幫忙解釋一下這段代碼,主要是while的條件看不懂,謝謝

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

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

幫助反饋 APP下載

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

公眾號

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