请教一个问题,这个情况下alert改变了啥?
我做了一个表格,html里面只有一个<div></div>,其他的<table><tr><td>都是用js生成的。
然后我在网络里面找了一些样式复制到我的页面里面,但是没有起作用,然后我就用alert调试。
这个时候我在处理样式的js函数的某句tables=document.getElementsByTagName('table');
后面加上alert(tables.length);,
弹框说明tables.length=0,但是点确定后样式竟然生效了,
我把alert注释掉,样式又没有生效
这是什么原因? alert有改变了什么吗?感觉像是alert等了一小会,等到表格生成结束后样式就起作用了?
------解决方案--------------------alert跟这个是没有关系的
你把你所有的JS代码放在 html后面或者
$(document).ready(function(){
/*放这里*/
});
------解决方案--------------------你写的js脚本在程序运行的时候,都会被预编译
可能就是table还木有生成的时候执行了alert
建议先把table生成脚本写入加载项,比如楼上说的就可以,再去调试alert
------解决方案--------------------alert会把当前线程挂起
这个时候 后面的js语句是不会执行的 知道你点了[确认]位置
恰恰这么点时间 你那个table就渲染好了
呵呵
所以你的js调用的时机不对
你要等table全部渲染好了 在调用这个代码
------解决方案--------------------
要了解HTML的运行机制,你就明白了