看例子:
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
找到 document.body.onclick = function(evt), 在IE下,這個(gè)evt是不會(huì)有的,但是在fireFox下(opera下好像也是)會(huì)默認(rèn)傳這個(gè)參數(shù).在IE下,這個(gè)參數(shù)是 null ,想兼容,就這樣寫.
繼續(xù)向下: evt = evt || window.event; 在IE下,evt 就會(huì)指向:window.event,在fireFox下,就會(huì)指向那個(gè)默認(rèn)參數(shù). 因?yàn)樵贗E下 evt || window.event 相當(dāng)于: null || window.event,結(jié)果還是window.event 而在fireFox下,就相當(dāng)于 evt || null ,結(jié)果就是evt
向下看: o.previousSibling.href || o.previousSibling.previousSibling.href 前面一個(gè)表達(dá)式用于IE下,后面一個(gè)用于FireFox下. FireFox下,沒(méi)有preserveWhiteSpace這個(gè)屬性,即:把空白也當(dāng)作一個(gè)節(jié)點(diǎn),而IE則默認(rèn)為false,即把空白不看成一個(gè)節(jié)點(diǎn).
這里說(shuō)到了XMLDom,似乎和上面所說(shuō)的不相關(guān),但是在FireFox下 previousSibling就是空白,除非兩個(gè)HTML標(biāo)簽之間沒(méi)有任何形式的空格.
<a href="http://www.95time.cn/articleimg/bbsimg/smile.gif"/></a> <a href="圖片地址">打開(kāi)</a> 兩個(gè)<a>之間有換行(屬于空格的一種),所以在FireFox下,取下面一個(gè)<a>的前一個(gè)節(jié)點(diǎn)的話,就必須用: o.previousSibling.previousSibling.href
可能你還是沒(méi)有看明白,沒(méi)關(guān)系,再舉個(gè)簡(jiǎn)單的:
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
好,點(diǎn)道為止,就講這些!
出處:藍(lán)色理想
責(zé)任編輯:moby
◎進(jìn)入論壇網(wǎng)頁(yè)制作、網(wǎng)站綜合版塊參加討論
|