关于JAVASCRIPT中的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 08:41:28
tempLayer=document.getElementById ? document.getElementById("tempLayer") : document.all ? document.all.tempLayer : null;
这个方法是什么意思
怎么用

首先这是一个?:表达式,举个例子
var a = expression ? result1: result2;
expression是一个布尔表达式,expression为true时,a等于result1,expression为false时,a等于result2。
不同的浏览器对DOM的实现是不一样的,比如IE和FF,在FF里面你就不能通过document.all.ElementID来获取元素,因为document没有all属性。在写跨浏览器的javascript代码时需要考虑浏览器之间的差异。
上面这段代码的意思是如果document.getElementById方法不为null(浏览器已实现该方法,主流浏览器都实现了该方法),那么tempLayer就等于document.getElementById("tempLayer"),否则检查document.all属性是否为null,如果不为null,那么tempLayer就等于document.all.tempLayer,否则tempLayer等于null。
其实这句话不用这么写,直接写
tempLayer = document.getElementById("tempLayer");
就好,因为document.getElementById方法是标准方法。