当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 再谈ie和firefox下的document.all属性

Javascript
JQuery 学习笔记 选择器之四
JQuery 学习笔记 选择器之五
JQuery 学习笔记 选择器之六
JQuery CSS样式控制 学习笔记
用js模仿word格式刷功能实现代码 [推荐]
运用jquery实现table单双行不同显示并能单行选中
jqPlot jquery的页面图表绘制工具
jquery tools之tabs 选项卡/页签
jquery tools之tooltip
浅析Javascript原型继承 推荐
JQuery UI皮肤定制
实现lightBox时的样式与行为分离减少JS
JQuery 表格操作(交替显示、拖动表格行、选择行等)
javascript 进度条 实现代码
Javascript this指针
jquery imgareaselect 使用利用js与程序结合实现图片剪切
javascript 写的一个简单的timer
javascript 处理HTML元素必须避免使用的一种方法
Javascript 验证上传图片大小[客户端]
jQuery 隔行换色 支持键盘上下键,按Enter选定值

Javascript 中的 再谈ie和firefox下的document.all属性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 414 ::
收藏到网摘: n/a

很多情况下,我们是使用document.all来判断当前浏览器是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浏览器会输出 “this is a IE”;
而在firefox浏览器中会输出"this is a Mozilla"。
但这样是不能直接就认为在 firefox中 是不支持 document.all属性方法的。
下面一段代码,在IE和firefox浏览器下都运行正常
复制代码 代码如下:

<html>
<body>
<input type="text" id="txt" value="ddd"/>
<SCRIPT LANGUAGE="JavaScript">
<!--
var v = document.all.txt.value;
alert(v);
//-->
</SCRIPT>
</body>
</html>

这是因为较新FF对all做了特殊处理,JS在招行过程中检测到只有单独的all属性是,就会返回JSVAL_VOID(也就是false)值;
当JS在招行过程中检测到形如'if (o.p)...' or '(o.p) ?...:...', 则回返回一个HTMLCOLLECTION对像.
而在GOOGLE浏览器中,则对all有双重分处,既是一个COLLECTION又是一个JS VOID(false)值.