您的位置:首页 > 其它

for语句在$(function(){})之外出错

2016-03-20 22:14 169 查看
今天做task的时候遇到了一个问题:

如下两段代码:

    $(document).ready(function(){

          for(var n=a;a>0;a--){

              $(".main").prepend('<div class="xx">第'+n+'天</div>')    

         }

     })



      for(var n=a;a>0;a--){

          $(document).ready(function(){

              $(".main").prepend('<div class="xx">第'+n+'天</div>')   

         })

     }





但是只有第一个才是我想要的结果,第二个的时候他循环会把上一个的结果覆盖掉。
但是如果我把  $(document).ready(funcion(){})去掉也可以正常循环。
$(document).ready(function(){ 是指在页面dom树加载完毕后再执行里面的代码,这样能保证js代码正常运行。如果js代码先于页面加载执行,就会出错。

“如果你想要一个事件运行在你的页面上,你必须在$(document).ready()里调用这个事件。所有包括在$(document).ready()里面的元素或事件都将会在DOM完成加载之后立即加载,并且在页面内容加载之前”


一般情况先一个页面响应加载的顺序是:域名解析-加载html-加载js和css-加载图片等其他信息。
那么Dom Ready应该在“加载js和css”和“加载图片等其他信息”之间,就可以操作Dom了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: