日期:2014-05-17  浏览次数:20656 次

js的理解问题请教?
具体问题:不在function中document.getElementById能使用么?
js如下判断rs是否为空值,是,则tab1隐藏,tab2显示,不是则反之
if(<%=rs.size()==0?false:true%>)  {    
    document.getElementById("tab2").style.display = "none";     
    document.getElementById("tab1").style.display ="block";  
   }
   else{
      document.getElementById("tab2").style.display ="block";
      document.getElementById("tab1").style.display ="none";
   }}

直接写在js块儿不执行,非要套入window.onload=new funtion(){}
请问为什么? document.getElementById有什么使用限制么?请教
js

------解决方案--------------------
在function外面也能使用。

直接放在script标签中没用,可能原因是:真个页面还没有加载完,放在window.onload函数中可以保证页面加载完成之后,脚本才执行。

也可以不放在window.onload中,将脚本放在页面的最后也行。
------解决方案--------------------
页面加载太慢,还没执行到这语句
------解决方案--------------------
document.getElementById("tab2")
    document.getElementById("tab1")
页面上tab1和tab2加载完了才有上面的两个对象,如果不想放到window.onload里就把你的js代码放到html的最下面。