jQuery等待元素属性具有值
我有一个元素jQuery等待元素属性具有值,jquery,wait,Jquery,Wait,我有一个元素 <span id="current" data=""></span> 我想执行另一个函数,但在该函数中,我想等待属性data不等于空。 我正在查看以下内容: 但我更喜欢使用默认jQuery来实现这一点 我该怎么做?如果您能够将更改为,您将能够使用jQuery的事件,这将使您的生活更加轻松 <input id="current" value="" type="hidden" /> 您可以使用超时来定期检查该值是否不再为空 注1:我将您的spa
<span id="current" data=""></span>
我想执行另一个函数,但在该函数中,我想等待属性data
不等于空。
我正在查看以下内容:
但我更喜欢使用默认jQuery来实现这一点
我该怎么做?如果您能够将
更改为
,您将能够使用jQuery的事件,这将使您的生活更加轻松
<input id="current" value="" type="hidden" />
您可以使用超时来定期检查该值是否不再为空 注1:我将您的span更改为imput,以允许您在JS FIDLE中更新它,但如果是span,代码将正常工作 注2:这是一个递归函数,它在休眠2秒后调用自身重新检查值。如果你正在实施这一点,你应该考虑永远运行,并在某些情况下清理或停止呼叫
var doSomethingOnceValueIsPresent = function () {
if ($('#current').val() != '')
{
alert('something!');
}
else
{
setTimeout(function(){
doSomethingOnceValueIsPresent()
}, 2000);
}
};
doSomethingOnceValueIsPresent();
您可以轮询数据的值:
function check() {
if (!$('#current').attr('data')) {
return setTimeout(check, 1000);
}
// do work here
}
check();
您的AJAX功能使用了什么?您使用的是$.post、$.get还是$.ajax?您可以从AJAX调用的success函数中调用第二个函数吗?为什么不能更改该函数?它来自图书馆吗?代码是什么?这是一个相当长的函数,设置了很多变量,然后执行了
$.ajax({type:“GET”
。我会使用回调来获得ajax成功;如果不能,那么在span上钩住更改事件显示问题中的$.ajax(…)
块。
var doSomethingOnceValueIsPresent = function () {
if ($('#current').val() != '')
{
alert('something!');
}
else
{
setTimeout(function(){
doSomethingOnceValueIsPresent()
}, 2000);
}
};
doSomethingOnceValueIsPresent();
function check() {
if (!$('#current').attr('data')) {
return setTimeout(check, 1000);
}
// do work here
}
check();