在不使用setInterval
的情况下,可以使用递归来检查元素是否存在,然后执行相应的操作。以下是一个示例代码:
function checkElementExists(element, callback) {
if (document.querySelector(element)) {
callback();
} else {
setTimeout(function() {
checkElementExists(element, callback);
}, 100); // 每隔100毫秒检查一次
}
}
// 示例用法
checkElementExists("#myElement", function() {
// 元素存在时执行的操作
console.log("Element exists!");
});
在上述示例中,checkElementExists
函数接受两个参数:element
表示要检查的元素选择器,callback
表示元素存在时要执行的操作。
函数首先使用document.querySelector
检查元素是否存在。如果元素存在,就直接执行callback
函数。如果元素不存在,就使用setTimeout
设置一个定时器,在100毫秒后再次调用checkElementExists
函数进行检查。
这样就达到了周期性检查元素是否存在的效果,直到元素存在为止。一旦元素存在,就执行相应的操作。
下一篇:不使用setState更新对象