我有一张这样的表格:
setInterval(fillTable,2000);
此表每 2 秒刷新一次。等待那 2 秒后,我想从此表中获取数据。
例如,我试试这个:
var table = document.getElementById("myTable");
setTimeout("alert(table.rows.length);",3000);
这最后一行代码应该返回表中已经应该填充的行数(使用 setInterval )。
但是我得到的是:
ReferenceError: table is not defined
而如果我只是尝试:
alert(table.rows.length);
它返回 0。
怎么了?难道他不知道 2 秒后 table 就满了吗?
提前致谢
最佳答案
您的代码可能在一个函数中:
当您调用 setTimeout
代码时,您正在评估的代码会得到 this
对象作为 window
。
所以当你访问局部变量时。您的代码将无法运行,因为现在它将在全局对象 (window
) 中搜索变量。
所以把你的代码放在函数里面,它就会工作:
setTimeout(function(){
alert(table.rows.length)
},3000);
关于javascript - 等待数据存储在某处后如何获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29613930/