我有一个JavaScript函数,如下所示:
function nodeExists(text, ancestor, tree, generationCount) {
tree.findByText(text).each(function (index, element) {
var gen = generationCount;
var currNode = element;
while (gen !== 1) { // 1: node itself
currNode = tree.parent(currNode);
gen--;
}
if (tree.text(currNode) === ancestor)
return currNode; // Even if condition is met, control continues looping
})
return null;
//return ($.inArray(ancestor, gArr) !== -1) ? true : false;
}
即使
tree.text(currNode) === ancestor
是正确的,调试功能也不会从循环中退出。是Jquery .each导致它。请帮我。 最佳答案
从jQuery文档中:
我们可以在特定的迭代中破坏$ .each()循环,方法是
回调函数返回false。返回非假与
在for循环中继续执行语句;它将立即跳到下一个
迭代。
您不会返回false,因此循环将继续。