Javascript Rails 5:为什么jQuery在没有$(document)的js.erb文件上工作。准备好了,但没有直接html

Javascript Rails 5:为什么jQuery在没有$(document)的js.erb文件上工作。准备好了,但没有直接html,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我的主页上有一个home.html.erb,上面有: <script> $(document).ready(function(){ $("#success").modal(); }); </script> 为什么会发生这种情况 因为文档还没有准备好。内联脚本标记在解析时进行计算-此时,它们所针对的元素可能尚未添加到DOM中。如果您将脚本标记移到文档的末尾,它将起作用。@max-oh-ok!因此它在home.js.erb中是安全的,因为它添加在脚本文件的

我的主页上有一个home.html.erb,上面有:

<script> 
  $(document).ready(function(){
    $("#success").modal();
  });
</script>

为什么会发生这种情况

因为文档还没有准备好。内联脚本标记在解析时进行计算-此时,它们所针对的元素可能尚未添加到DOM中。如果您将脚本标记移到文档的末尾,它将起作用。@max-oh-ok!因此它在home.js.erb中是安全的,因为它添加在脚本文件的末尾。再次感谢!否-当用户单击链接或提交表单时,
js.erb
作为ajax请求加载。在这一点上,几乎可以肯定文档已经完全加载并准备就绪。
 $("#success").modal();