Javascript js,延迟一个函数
因此,我有两个js函数: 第一个js附加了一个新的div容器。 第二个js对这个新分区做了一些事情: 例如:Javascript js,延迟一个函数,javascript,jquery,Javascript,Jquery,因此,我有两个js函数: 第一个js附加了一个新的div容器。 第二个js对这个新分区做了一些事情: 例如: my_html = '<div class="second"></div>' jQuery('.first').html(my_html); jQuery('.second').html("Yay"); 这是我收到的警报序列: Alert 1: "first function" Alert 2: "After:" Alert 3: "before: some d
my_html = '<div class="second"></div>'
jQuery('.first').html(my_html);
jQuery('.second').html("Yay");
这是我收到的警报序列:
Alert 1: "first function"
Alert 2: "After:"
Alert 3: "before: some data"
“之前的”警报应该首先出现,但我最后才收到
我做错了什么?至于拖延:
setTimeout(yourFunction, 1);
在您的示例中,您还可以在第一个查询对象之后链接,而不是启动第二个选择器:
jQuery('.first').html(my_html)
.filter('.second').html("Yay");
你不需要做任何事情,它应该会起作用,这里有一个
但是,您也可以这样做:
my_html = '<div class="second"></div>'
$(my_html).filter(".second").html("Yay").appendTo(".first");
my_html=''
$(my_html).filter(“.second”).html(“Yay”).appendTo(“.first”);
下面是代码同步运行的,该代码实际上可以工作,“第二个”在运行jQuery('.second').html(“Yay”)时存在;显示您的实际代码。嗯,我将再次检查这是否是问题所在。谢谢。正如@MarcosCasagrande所说的,代码看起来很好,应该可以像你期望的那样工作。您是否将JS代码包装在函数中?这将延迟代码,直到车身结构准备就绪。或者把你的JS代码移到标签的末尾。我做了一个编辑。你们能看一下吗?谢谢使用超时的解决方案非常糟糕!他并不打算“延迟”第二个功能,只是直到第一个功能完成。在等待一个“async”(其中.html()不是BTW)函数完成,然后调用回调函数方面,我的帖子中包含了一些函数。你能帮我看一下吗?谢谢您说“之前”警报应该首先出现,但这可能不正确。例如,如果在某个函数中有一个异步调用,例如,$.get(someUrl).done(此函数)
您将得到所描述的行为。
my_html = '<div class="second"></div>'
$(my_html).filter(".second").html("Yay").appendTo(".first");