看不懂,有沒有大神幫忙解釋一下這段代碼,主要是while的條件看不懂,謝謝
function get_previousSibling(n)
{
var x=n.previousSibling;
while (x &&?x.nodeType!=1)
? {
? x=x.previousSibling;
? }
return x;
}
function get_previousSibling(n)
{
var x=n.previousSibling;
while (x &&?x.nodeType!=1)
? {
? x=x.previousSibling;
? }
return x;
}
2018-10-05
舉報
2018-10-08
主要是判斷之前緊跟的節點是不是空,Internet Explorer 會忽略節點間生成的空白文本節點(例如,換行符號),而其它瀏覽器不會忽略,所以要判斷一下。如果nodeType==1就說明是元素節點,就可返回x結束函數,如果不等于1就再向前找一個節點來跳過這個空白文本節點(?x=x.previousSibling;)
2018-11-24
while里面的條件x已經被賦值n.previousSibling,也就是說x為n節點的前一個節點,如果前面沒有節點的話,就返回null,根據數據自動轉換類型規則,x=null;null=false;所以x=false那么條件不成立,就不執行循環體內的代碼了。我想后面的x.nodeType!=1你應該理解的吧。
2018-11-14
你好,n.previousSibling中的previousSibling是什么意思