昨天学习用jQuery
时出现$.html()
不能修改原数据的问题。
下面说说我的解决步骤方法:
1.检查所有有关的函数
2.测试几次有无alert
时的影响,
3.初步判断为函数未来得及时渲染而导致为null
4.get
一个js的睡眠函数
5.加入睡眠函数,成功
第一次遇到这种情况,当时是有点慌的,最后原因是因为函数未来得急渲染对象而导致无法修改内容
解决方案
//使用闭包和setTimtout 实现睡眠
var st = function(){
//睡眠后需要运行的代码
$('#projectInfo').html(insertProjectContent(data.obj));
}
setTimeout(st, 500); //睡眠0.5秒
//睡眠函数结束
睡了一觉发现了根本原因:
被调用的函数定义在了调用函数的下方,导致函数被调用时,还未被浏览器解析。
最好的解决方法是将被调用的函数放在上方,这样程序运行时就不未出现未解析的情况。