Javascript JS-如果第一个函数导致错误,请继续尝试执行

Javascript JS-如果第一个函数导致错误,请继续尝试执行,javascript,jquery,function,google-chrome,google-chrome-extension,Javascript,Jquery,Function,Google Chrome,Google Chrome Extension,我正在为一个扩展编写一些js代码,我原来的函数运行得很好,没有问题,但我正在尝试添加更多的代码,以便- 当我的函数执行时,如果它导致打开一个id为somediv的弹出div,并且其中的任意位置都有单词error,那么它将继续执行该函数,直到生成的弹出div中的任意位置都没有错误文本/类/或id-word 这有意义吗?我不知道该怎么说,也不知道从哪里开始 基本上 var finderror = "error"; var containerdivid = "somediv"; function D

我正在为一个扩展编写一些js代码,我原来的函数运行得很好,没有问题,但我正在尝试添加更多的代码,以便-

当我的函数执行时,如果它导致打开一个id为somediv的弹出div,并且其中的任意位置都有单词error,那么它将继续执行该函数,直到生成的弹出div中的任意位置都没有错误文本/类/或id-word

这有意义吗?我不知道该怎么说,也不知道从哪里开始

基本上

var finderror = "error";
var containerdivid = "somediv";

function DoSomethingFirst() { //some function }
DoSomethingFirst();

if (containerdivid[0].match(finderror) == finderror) {
DoSomethingFirst();
}

您应该使用while语句

var finderror = "error";
var containerdivid = "somediv";

function DoSomethingFirst() { //some function }

while (containerdivid[0].match(finderror) == finderror) {
    DoSomethingFirst();
}
DoSomethingAfter();

如果要检查containerdiv的内容,可以使用querySelector或textContent:


由于这是一个Java或Chrome扩展,因此可能会涉及一些异步JS执行。这需要一种不同的方法,应该在问题中提及。只是提醒一下……似乎没什么用。您能再解释一下吗?问题来自您的比较器:containerdivid[0]。matchfinderror==finderror。您将finderror变量设置为字符串,并从match函数中获得一个数组或空值,因此比较永远不会匹配
...
var containerdiv = document.querySelector('#' + containerdivid);
while (containerdiv.textContent.indexOf(finderror) !== -1) {
    DoSomethingFirst();
}