在初学js的时候,有同学会遇到
Uncaught TypeError: Cannot set property 'onmouseover' of undefined
at **.html
的问题
这个问题牵扯到页面加载顺序的问题。
我们知道 页面的加载顺序(正确的顺序)是
结构>样式>行为
也就是
html>css>JavaScript
如果我们的js部分写到了页面内容的前面,那么在加载的时候,浏览器的加载顺序(错误顺序)是js>html,所以 我们在js中获取的html元素就出现了undefined的错误。
因为没有加载html的时候,js的执行对象找不到。
解决方法:
1.把js内容提到页面内容之后,也就是说 你的</script>标签要紧挨着</body>标签
2.把所有的js代码用
window.onload=function(){
(这里写代码)
};
包起来即可。