看不懂,有沒有大神幫忙解釋一下這段代碼,主要是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
主要是判斷之前緊跟的節(jié)點是不是空,Internet Explorer 會忽略節(jié)點間生成的空白文本節(jié)點(例如,換行符號),而其它瀏覽器不會忽略,所以要判斷一下。如果nodeType==1就說明是元素節(jié)點,就可返回x結(jié)束函數(shù),如果不等于1就再向前找一個節(jié)點來跳過這個空白文本節(jié)點(?x=x.previousSibling;)
2018-11-24
while里面的條件x已經(jīng)被賦值n.previousSibling,也就是說x為n節(jié)點的前一個節(jié)點,如果前面沒有節(jié)點的話,就返回null,根據(jù)數(shù)據(jù)自動轉(zhuǎn)換類型規(guī)則,x=null;null=false;所以x=false那么條件不成立,就不執(zhí)行循環(huán)體內(nèi)的代碼了。我想后面的x.nodeType!=1你應(yīng)該理解的吧。
2018-11-14
你好,n.previousSibling中的previousSibling是什么意思