很多时候我们会遇到如下情况:
当点击一个tab页签时会生成一个table表格在空白处显示,完了之后我们要拿到这个table表格对象对其进行一些操作,但是问题来了
表格是我们点击tab后才生成的,也就是说我们把操作table的函数写在$(document).ready(function(){})中时,页面加载完毕就执行了,此时还没有点击tab还没有生成该table对象,所以无法获取到,然后我们又想到将其写到tab的点击事件中,但是依然发现一点击,该函数立马就执行了----在table表格生成之前(可以使用alert进行试验),此时该如何解决?
----使用setTimeout()方法!如下:
<script type="text/javascript">
$(document).ready(function(){
$('#myTab li').bind("click",function(){
alert($('#headTable').css("height")); //此时无论如何打印都是0px,因为点击tab时候该对象还没有生成完,该alert方法就执行了
/*
解决方法:可以使用setTimeout方法,让其休眠一下,然后再进行打印,此时table对象就已经生成完毕了,自然就可以获取到了
如果要进行其他操作,就写在该方法体内就可以了
*/
window.setTimeout(function(){
alert($('#headTable').css("height"));
},10);
});
});
</script>