我有那种代码可以将li
元素附加到具有奇特效果的给定元素上ul
,然后我调用一个函数,其行为取决于 that 的子元素数ul
:
$(li).hide().appendTo("#ul-authors").show("blind");
toggleIfNeeded();
...
function toggleIfNeeded() {
if ($("#ul-authors > li").length === 1) {
doSomething();
} else {
doSomethingElse();
}
}
问题是,当toggleIfNeeded
被调用时,新的li
似乎还不存在,因为效果并没有完全执行。如果我删除效果,它可以正常工作。
我怎样才能做到这一点 ?我想我需要某种计时器,但这将是异步的(我不想阻止应用程序以获得奇特的效果),或者更好的是告诉“在执行效果时调用该函数”的方式。
1
由于可以在不涉及任何效果的其他上下文中调用代码,因此我无法更改0
上述内容。