日期:2014-05-16 浏览次数:20400 次
这段时间遇到一个问题:使用ajax生成一个列表,然后使用sorttable.js对这个列表进行排序。问题在于:生成的列表还没出现,排序已经开始了,结果没有找到列表报错。解决方法:
function ifExist(table){ if(table.tBodies[0]==null) { setTimeout( function(){ifExist(table);}, 1000); } else { sorttable.makeSortable(table); } }
判断节点是否生成了,如果没有,那么就等待1秒,再循环执行。一切ok了!
最后,补充一下关于javascript同步和异步的问题(转载):
<script src="http://yourdomain.com/script.js"></script>
2. 常见异步加载(Script DOM Element)
(function() { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'http://yourdomain.com/script.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); })();
(function(