使用jQuery(simple).is(';empty';)主动查找div是否为空

使用jQuery(simple).is(';empty';)主动查找div是否为空,jquery,is-empty,Jquery,Is Empty,一旦div为空(涉及动画),我需要启动一个ajax调用 唯一的问题是,这个语句的设置方式,它只在文档准备好后才显示。我尝试在不使用setTimeout函数的情况下执行此操作 例如,我知道如果我想在更改选择下拉列表时执行某些操作,我可以使用:$('select').change()。有什么想法吗 目前没有合理的方法来做到这一点;间隔检查是唯一可靠的解决方案,即使如此,在技术上仍有许多不足之处 可以让你轻松地解决这个问题,没有任何限制,但不太理想 现在最好的方法(如果在您的场景中可能的话)是挂接清空

一旦div为空(涉及动画),我需要启动一个ajax调用

唯一的问题是,这个语句的设置方式,它只在文档准备好后才显示。我尝试在不使用setTimeout函数的情况下执行此操作


例如,我知道如果我想在更改选择下拉列表时执行某些操作,我可以使用:$('select').change()。有什么想法吗

目前没有合理的方法来做到这一点;间隔检查是唯一可靠的解决方案,即使如此,在技术上仍有许多不足之处

可以让你轻松地解决这个问题,没有任何限制,但不太理想


现在最好的方法(如果在您的场景中可能的话)是挂接清空元素的代码,并让它在时机成熟时调用您的回调。

如果typer.js提供了可以挂接的源代码,我会让它触发一个自定义事件,然后您可以在代码中侦听它

我想会有一些for循环逐个删除每个字符,因此在循环结束时,您可以执行以下操作:

for(var i = 0; i < $('#divId').innerText.length; i++){
...
}

$(document).trigger('YourCustomEvent');
然后处理回调:

function YourCallBackFuntion(){...
}

这种方法的美妙之处在于,您甚至不必定义自定义事件,只需确保绑定匹配即可

我挖得更深一点,在这里找到了这个解决方案:


这不是一个轻松的解决方案,但是它不会运行很长时间

我正在使用一个名为typer.js的插件。在该文件中有一个函数,它可以逐个删除H标记中的字符,直到它们为空。因此,如果在该文件中有一个函数,在我正在使用的当前js文件之外,我如何设置这样的钩子?不幸的是,我需要回到IE9。@TechyDude:如果那个插件提供了一个,你就使用它;如果没有,可以考虑修改它来添加一个;否则,你不能那样做。同意。这就是我想弄明白的,我只是不知道该怎么做——我应该在回调上设置一个变量吗?或者我该怎么做才能创建一个钩子?(理论上)@TechyDude:添加一个默认值为null的新函数,用于存储回调;然后在里面抓住它并打电话给它。应该行。谢谢你最后的评论-方向绝对正确。然而,在clearData中,我在回调函数中进行的ajax调用在所有文本高亮显示之前完成。它过早地激活了。我想看看插件中是否有更好的位置来放置函数。
$(document).on('YourCustomEvent', YourCallBackFunction);
function YourCallBackFuntion(){...
}
window.setInterval(function(){
  if($(document).find('h2').is(':empty')) {
     //do something
  };
}, 5000);