我是javascript的新手,正在编写遍历DOM。该页面使用“复选框”来过滤结果。使用Ajax显示结果。有4级复选框。
大父母
亲
儿童
大孩子。
对于每个级别,我希望javascript单击复选框并等待加载内容。
现在它检查并遍历整个DOM,但不等待。
我想要的是,当元素被CLICKED时,只有在刷新Ajax结果时才应调用下一个函数decisionread()。
我尝试过使用setTimeOut和其他延迟方法,但是他们说它是单线程的,因此不起作用。有什么想法吗?
for(i = 0; i< mgtNode.length; i ++){ mgtNode [I]。点击();
for (j = 1; j < stateNode.length; j++)
{
stateNode[j].click();
var read = decideRead();
if (read)
{
alert('we have read the data, now skip further reading below');
stateNode[j].click(); // we have read the data, now skip further reading below.
continue;
}
for (k = 0; k < inTypeNode.length; k++) {
inTypeNode[k].click();
var read = decideRead();
if (read)
{
alert('we have read the data, now skip further reading below');
inTypeNode[k].click();
continue;
}
for (l = 0; l < jobNode.length; l++)
{
jobNode[l].click();
while (true) {
if (new Date() - startTime >= 5000) {
break;
}
}
saveData();
jobNode[l].click();
}
inTypeNode[k].click();
}
stateNode[j].click();
}
mgtNode[i].click();
}
答案 0 :(得分:0)
您应该使用onreadystatechange进行此操作。请检查此http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp