失效是因为js文件加载的时间问题,如果在页面加载前,也就是直接在head中引入js文件,又不做其他的声明,就会导致js文件失效,因为js中许多操作是要针对页面中的元素来做,所以在加载页面前就加载js是无用的。
解决方法:
1、在js文件中,把需要用到的js代码放到window.onload=function(){}的function中去,这样,里面的js代码就会默认在页面加载完毕之后运行,也就不会找不到需要的元素的情况了;
2、直接在body中写js文件或者引入js文件,即把需要用到的js代码或文件写到或引入到那些对应元素的后面,也可以避免找不到这些元素的情况;