我有一个重写代码写几年前与现代浏览器一起工作。该网站包括几个Javascript文件。添加alert()使“不工作的脚本”正常工作
在他们的存在是一个代码是这样的 - 它是动态生成的DOM元素:
createTabs();
createTabsContent();
现在,我在Chrome中打开的网站和页面加载后,我试图改变产生了一些新鲜元素风格
document.getElementById('element').style.display = 'none';
并且它不工作 - 无论是表单脚本还是Chrome控制台。是的,DOM中存在id为#element的元素)。什么是奇怪的 - Chrome不报告任何错误。
但是,当我修改代码,做这样的事情:
alert('test'); //i put alert here
createTabs();
createTabsContent();
//alert('test'); // or put it here
一切工作正常。
在其他浏览器中:IE8,FF,Opera一切正常,也没有错误。 我用jQuery document.ready,然后用window.onload事件尝试 - 他们失败 - 没有任何改变。
什么可能会导致此行为?
我不太清楚“动态生成DOM元素”和“this.foo();”之间的联系。真正有效的示例代码将更容易调试。 – RoToRa 2010-09-21 14:58:31
@RoToRa - 我更改了函数名称。写“生成DOM元素”我的意思是document.createElement(),然后一些setAttribute调用。 – singles 2010-09-21 15:26:44
在更改样式之前是否已将元素附加到页面上? – vol7ron 2010-09-21 15:51:37