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

本文详细解释了在JavaScript中使用$(document).ready()函数的重要性,以及如何正确利用它来确保DOM元素在正确的时间进行操作。通过对比两个示例代码片段,深入探讨了在页面加载过程中jQuery的行为差异,帮助开发者避免常见的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做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了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值