在不使用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更新对象