以下代码可以兼容所有当今流行的浏览器,包括已经淘汰了的Internet Explorer 5.x。它表示要搜寻网页中所有的标签元素,并把其储存在elementArray数组了。
var elementArray = [];
if (typeof document.all != "undefined")
{
elementArray = document.all;
}
else
{
elementArray = document.getElementsByTagName("*");
}
document.all对象
我们现在可以不考虑Internet Explorer 5.x,我们只需要使用
var elementArray = [];
elementArray = document.getElementsByTagName("*");
就可以了。不过现在很多代码还包括document.all对象,所以有必要了解一下。不过事先说明,现在大部分浏览器都不识别document.all对象。而document.all可以说是Internet Explorer 5.x的专用对象--它包含所有的网页标签元素。
typeof操作符(operator)
当我们给某个变量赋予一个值时,基本上就可以判断它属于什么类型。例如:
var sTest = "test string";
alert(typeof sTest); //输出 "string"
alert(typeof 200); //输出 "number"
但如果实在不确定,就可以用typeof操作符来检测这个值属于什么数据类型,其结果将产生一个字符串来表示这个数值的类型(例如:"string","number","object",等等);就算这个数值是"null",它也返回类型"object"。
对象检测(object detection)
测试一个对象——比如document.all——是否存在,最安全的方法就是判断它是否返回字符串"undefined"。这个技巧就叫做对象检测(object detection)。