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代码先于页面加载执行,就会出错。
一般情况先一个页面响应加载的顺序是:域名解析-加载html-加载js和css-加载图片等其他信息。
那么Dom Ready应该在“加载js和css”和“加载图片等其他信息”之间,就可以操作Dom了
如下两段代码:
$(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了
相关文章推荐
- Lesson 9 View port
- 线程学习(二)——线程同步,死锁
- 浅谈Java中的hashcode方法
- Hibernate QBC查询
- VS2013安装
- 猎豹MFC--MCI媒体控制接口--播放各种音频视频录音
- 怎样学习java——关于我的建议(后期完善)
- PHP简单计算器
- hdu1272 并查集
- Android进阶之AlertDialog自定义
- GPUImage使用简介
- 严苛模式解决NetworkOnMainThreadException
- 用C#学习数据结构之线性表
- android(eclipse)编程中常见的java问题总结(四)
- 面试常见问题:java中wait()和sleep()方法的区别
- python web框架之django环境搭建
- 猎豹MFC--PlaySound播放声音文件
- SQL SERVER-安装和卸载
- Linux安装配置SVN服务器
- Linux 虚拟内存和物理内存的理解