再談ie和firefox下的document.all屬性
更新時(shí)間:2009年10月21日 14:25:10 作者:
很多情況下,我們是使用document.all來判斷當(dāng)前瀏覽器是ie還是 Mozilla 。
例如下面的代碼:
<html>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
if(document.all)
alert("this is a IE");
else
alert("this is a Mozilla");
//-->
</SCRIPT>
</body>
</html>
在IE瀏覽器會(huì)輸出 “this is a IE”;
而在firefox瀏覽器中會(huì)輸出"this is a Mozilla"。
但這樣是不能直接就認(rèn)為在 firefox中 是不支持 document.all屬性方法的。
下面一段代碼,在IE和firefox瀏覽器下都運(yùn)行正常
<html>
<body>
<input type="text" id="txt" value="ddd"/>
<SCRIPT LANGUAGE="JavaScript">
<!--
var v = document.all.txt.value;
alert(v);
//-->
</SCRIPT>
</body>
</html>
這是因?yàn)檩^新FF對(duì)all做了特殊處理,JS在招行過程中檢測(cè)到只有單獨(dú)的all屬性是,就會(huì)返回JSVAL_VOID(也就是false)值;
當(dāng)JS在招行過程中檢測(cè)到形如'if (o.p)...' or '(o.p) ?...:...', 則回返回一個(gè)HTMLCOLLECTION對(duì)像.
而在GOOGLE瀏覽器中,則對(duì)all有雙重分處,既是一個(gè)COLLECTION又是一個(gè)JS VOID(false)值.
復(fù)制代碼 代碼如下:
<html>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
if(document.all)
alert("this is a IE");
else
alert("this is a Mozilla");
//-->
</SCRIPT>
</body>
</html>
在IE瀏覽器會(huì)輸出 “this is a IE”;
而在firefox瀏覽器中會(huì)輸出"this is a Mozilla"。
但這樣是不能直接就認(rèn)為在 firefox中 是不支持 document.all屬性方法的。
下面一段代碼,在IE和firefox瀏覽器下都運(yùn)行正常
復(fù)制代碼 代碼如下:
<html>
<body>
<input type="text" id="txt" value="ddd"/>
<SCRIPT LANGUAGE="JavaScript">
<!--
var v = document.all.txt.value;
alert(v);
//-->
</SCRIPT>
</body>
</html>
這是因?yàn)檩^新FF對(duì)all做了特殊處理,JS在招行過程中檢測(cè)到只有單獨(dú)的all屬性是,就會(huì)返回JSVAL_VOID(也就是false)值;
當(dāng)JS在招行過程中檢測(cè)到形如'if (o.p)...' or '(o.p) ?...:...', 則回返回一個(gè)HTMLCOLLECTION對(duì)像.
而在GOOGLE瀏覽器中,則對(duì)all有雙重分處,既是一個(gè)COLLECTION又是一個(gè)JS VOID(false)值.
您可能感興趣的文章:
相關(guān)文章
CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法
這篇文章主要介紹了CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法,設(shè)計(jì)javascript操作菜單的彈出與關(guān)閉的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05javascript自定義in_array()函數(shù)實(shí)現(xiàn)方法
這篇文章主要介紹了javascript自定義in_array()函數(shù)實(shí)現(xiàn)方法,涉及javascript數(shù)組的遍歷與查找相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08只有 20 行的 JavaScript 模板引擎實(shí)例詳解
這篇文章主要介紹了只有 20 行的 JavaScript 模板引擎,結(jié)合實(shí)例形式分析了JavaScript 模板引擎實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05javascript 復(fù)雜的嵌套環(huán)境中輸出單引號(hào)和雙引號(hào)
如果簡(jiǎn)單的嵌套一般都是外面用雙引號(hào),則里面用單引號(hào),反之亦同,如果特別負(fù)責(zé)的嵌套大家看下如下的方法。2009-05-05JS防抖節(jié)流函數(shù)的實(shí)現(xiàn)與使用場(chǎng)景
在行走江湖的過程中,會(huì)出現(xiàn)很多性能優(yōu)化的問題來讓你手足無措,那么這篇文章主要給大家介紹了關(guān)于JS防抖節(jié)流函數(shù)的實(shí)現(xiàn)與使用場(chǎng)景,針對(duì)這兩個(gè)問題來為你答疑解惑,需要的朋友可以參考下2021-07-07