在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

感觉超简单的问题,可是就是找不出原因。我这么写应该没问题啊,但是警告窗

Document

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与5

我来回答一下吧,这个问题有2个解决方法,



      • 可以把script标签放在body的上面,但是在写代码前,要写成下面这种
        window,onload=function(){
           //这里写你要写的代码


        }
      • 也可以把script标签放在最后,就是的前面,这样写的话,就不需要加方法1的语句了,当然加了也是可以的


最后,告诉你原理:
html是文档流,网页加载的时候,是从上到下依次读取的,所以,你的写法的话,会首先读取btn,获取btn的id,但是,我们还没有加载到body部分,所以id这时候是读取不到的。为了避免这种情况,可以把js放到body内容的最后,这时候读取btn,前面已经加载了。或者是在写代码前,window.onload,告诉浏览器等页面全部加载完毕,在触发事件,执行你的函数。

使用道具 举报

还有一个无敌的解决方法,引用jQuery库,点击事件用on中的click,直接绑定,通常异步加载那些数据中都用on绑定的

使用道具 举报

写个Window.onload,学的不扎实啊

使用道具 举报

找代码错也有方法 要善于用浏览器的审查元素  打开浏览器 按快捷键f12  里面的console菜单栏里面会有报错信息。。。
也可以用编辑器里的插件提示你代码是否有  比如webstorm 。个人感觉最好用浏览器的审查元素
传送门:http://www.imooc.com/learn/137慕课网的课程 你可以看看

使用道具 举报

你要了解加载机制是从上到下的,,你这个首先加载的js代码 然后才是html代码,,当加载js代码的时候,html代码还没出现,根本就没绑定成功,所以没有效果 ;

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册