Javascript 回调后插入jQuery?
这不起作用:Javascript 回调后插入jQuery?,javascript,jquery,Javascript,Jquery,这不起作用: $block.insertAfter(form); $('.date', $block).datetime({ userLang: 'en', americanMode: true }); 但这确实: $block.insertAfter(form); window.setTimeout(function() { $('.date', $block).datetime({ userLang: 'en', america
$block.insertAfter(form);
$('.date', $block).datetime({
userLang: 'en',
americanMode: true
});
但这确实:
$block.insertAfter(form);
window.setTimeout(function() {
$('.date', $block).datetime({
userLang: 'en',
americanMode: true
});
}, 1000);
datetime()
是一个插件,我用类date
将它附加到输入元素。显然#1不起作用,因为该元素在DOM中仍然不可用,等待1秒就可以了。但它是黑的。如何扩展jQuery以接受调用insertAfter()
方法或其他方式?将您的代码包装在文档准备咒语中:
$(function() {
$block.insertAfter(form);
$('.date', $block).datetime({
userLang: 'en',
americanMode: true
});
});
并确保在加载datetime库后发生这种情况。也就是说,这个
标记应该在
后面。并确保
标记上未设置async
属性。.promise
,如果先调用.datetime()然后再调用insertAfter(),该怎么办?我的意思是创建与DOM分离的表单,然后对其调用datetime并插入DOM。1怎么不起作用?一旦插入,它就应该在DOM中可用insertAfter
是同步的,因此只要在表单
之后插入$block
,它就可用。然后运行.datetime
方法就足够了。等待1秒钟(或任何时间)都不重要。我错过什么了吗?如果您使用$block.insertAfter(form.find('.date').datetime({})代码>?什么是表单
?我想知道它是对动态创建的jQuery对象($(“”)
)的引用,还是对DOM元素($(
)的引用。如果该元素不在DOM中,您就缺少了$(文档)。ready(…)
处理程序。我同意没有理由1不起作用。很高兴能看到一个演示,否则我将不得不投票结束。