急!问一个奇怪的问题关于document.getElementById方法,高手进,100分
我用document.getElementById取得一个页面控件,代码是这样的:
<script language=javascript>
window.onload = function(){
var tb1=document.getElementById( "tb1 ");
if(tb1==null) ....
}
</script>
而tb1对象是页面开始的时候用以下方法生成的:
<SCRIPT language= "javascript "> initTable "DivisionCtrlDataTable "); </SCRIPT>
我在执行tb1=document.getElementById( "tb1 ")的时候出现的情况非常奇怪,有的时候能取道tb1对象,有的时候不能,也没有什么规律,这究竟是什么问题呢?
奇怪,难道用script生成的对象很不可靠吗?
------解决方案-------------------- <SCRIPT language= "javascript "> initTable( "DivisionCtrlDataTable "); </SCRIPT>
------解决方案--------------------生成时间问题,写在setTimeout中得到这个对象就会隐藏这个问题
------解决方案--------------------上面: <SCRIPT language= "javascript "> initTable( "DivisionCtrlDataTable "); </SCRIPT>
下面:
<script language=javascript>
body.onload = function(){
var tb1=document.getElementById( "tb1 ");
if(tb1==null) ....
}
</script>
try
------解决方案--------------------window.onload好像是页面下载完时触发,但是那个时候生成table的代码可能没执行呢~~~
别把取id的代码放在onload事件里,放在页面的最后就行了~~~
------解决方案--------------------应该不是时间的问题吧,在window.onload的时候,函数initTable早就执行完了,tb1也应该存在了.
------解决方案--------------------尝试用window.timeout作一个时间队列来得到tb1对象
------解决方案--------------------估计是生成顺序的问题