检查元素是否包含另一个

时间:2016-01-25 22:03:40

标签: javascript node.js cheerio

我有这段代码:

$('#detail div p').each(function() {
 if ($(this).children("i").length) {
     var TheVar = "Yes";
     MyData.push(TheVar);
 } else {
     var TheVar = "No";
     MyData.push(TheVar);
 };
});

问题是我有时会得到错误的答案,因为如果i中的p元素尚未加载,那么我会No而不是Yes。是否有任何解决方案等待dom加载?

最好的问候

1 个答案:

答案 0 :(得分:0)

由于您在cheerio中运行此操作且无法控制任何异步数据加载,请尝试设置5秒延迟(或更长时间)

setTimeout(function(){
   // try now

},5000);

您还可以使用间隔计时器来检查某些元素是否存在以及何时取消间隔计时器