Javascript 检测未来元素是否存在并执行某些操作
我使用了一个插件,它将在我的DOM中创建新元素,但不幸的是,它在插件初始化后没有回调。因此,我正在考虑捕获新创建的DOM并执行某些函数。聆听未来元素的最佳方式是什么 我试过两种方法Javascript 检测未来元素是否存在并执行某些操作,javascript,jquery,Javascript,Jquery,我使用了一个插件,它将在我的DOM中创建新元素,但不幸的是,它在插件初始化后没有回调。因此,我正在考虑捕获新创建的DOM并执行某些函数。聆听未来元素的最佳方式是什么 我试过两种方法 使用setTimeout 这种方法的缺陷在于,假设每个用户都能够以相同的加载时间启动插件是非常危险的 使用livequery插件() 这项工作很有效,但对表演不利。在我抓住即将到来的新元素后,它仍然运行 我怀疑您正在使用的插件没有回调功能,但是如果您确实想检查DOM中是否有元素,可以选择该元素(例如,按id/类),并
我怀疑您正在使用的插件没有回调功能,但是如果您确实想检查DOM中是否有元素,可以选择该元素(例如,按id/类),并检查它是否已经存在:
function checkIfThere() {
if ($('.yourEl').length > 0) console.log("There it is!");
else setTimeout(checkIfThere, 100); // recall the function until it is in the DOM
};
通过这种方式,您可以指定超时时间,以便在每次未加载元素时调用函数,直到加载为止。是否只将处理程序函数附加到尚未创建的DOM元素上的事件,例如单击执行某项操作或类似操作?@JohnIdol,可以使用on()完成,但是在我的例子中,我必须做一些其他的事情。所以你想检测新元素何时被附加到DOM中,对吗?@JohnIdol-yes。“没错!”詹姆斯莱蒙很乐意帮忙!