我是 javascript 的新手,正在写遍历 DOM 。该页面使用复选框来过滤结果。结果使用 Ajax 显示。有 4 级复选框。
祖父 父子 孙子
。
对于每个级别,我希望 javascript 单击复选框并等待内容加载。
现在它检查并遍历整个 DOM,但不等待。
我想要的是,当元素被 CLICKED 时,只有在刷新 Ajax 结果时才应该调用下一个函数 decisionread() 。
我尝试过使用 setTimeOut 和其他延迟方法,但他们说它是单线程的,所以不起作用。有任何想法吗 ?
for (i = 0; i < mgtNode.length; i++) { mgtNode[i].click();
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();
}