84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Wenn Sie eine Funktion definieren, die das Stilattribut eines Elements mithilfe einer Funktionsdeklaration ändert, wird ein Fehler gemeldet
Aber unter window.onload wird kein Fehler gemeldet
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
宝宝 这个和你用什么函数没关系!是因为onload会把文档加载完才触发 而你肯定是因为文档没加载完 没找到元素 所以才报错 把js放到元素下面
这和函数声明和匿名没有关系,而是和函数的调用时机有关系。改成这样,还能找到和匿名函数的问题么?
function change () { /* ... */ } window.onload = change
前者在调用时,box元素还没有,所以报了错;后者在DOM ready后调用,所以可以执行。你可以在change函数中log一下box对象看看。
问题不是这个,你需要知道文档是从上到下加载的,你把js文件放在了head里执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。你可以把js文件放到body的尾部:
head
body
. . .
这样就不需要window.onload了如果放在了head里面就需要在js文件头部写window.onload=function(){......}
window.onload
window.onload=function(){......}
宝宝 这个和你用什么函数没关系!是因为onload会把文档加载完才触发 而你肯定是因为文档没加载完 没找到元素 所以才报错 把js放到元素下面
这和函数声明和匿名没有关系,而是和函数的调用时机有关系。
改成这样,还能找到和匿名函数的问题么?
前者在调用时,box元素还没有,所以报了错;后者在DOM ready后调用,所以可以执行。你可以在change函数中log一下box对象看看。
问题不是这个,你需要知道文档是从上到下加载的,你把js文件放在了
head
里执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。
你可以把js文件放到
body
的尾部:这样就不需要
window.onload
了如果放在了head里面
就需要在js文件头部写
window.onload=function(){......}