• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

看JavaScript DOM编程艺术这本书,发现按照书上的敲的JS代码无法实现功能,

Document
choose my image

window.onload=prepareGallery();function prepareGallery(){        if(!document.getElementsByTagName) return false;        if(!document.getElementById) return false;        if(!document.getElementById('prepareGallery')) return false;        var gallery=document.getElementById('prepareGallery');        var links=gallery.getElementsByTagName('a');        for(var i=0;i

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

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

使用道具 举报

全部参与4

错误有两处:
首先:第一句改为window.onload=function(){prepareGallery();}或window.onload=prepareGallery;表示将prepareGallery函数绑定在window.onload,即在页面加载完成后执行prepareGallery函数。
像你这样写表示:先执行prepareGallery函数,将返回结果赋给window.onload。
其次:links.onclick=function(){}这句的onclick是小写  
之所以没有报错是因为当写成window.onload=prepareGallery();时执行在html加载之前,没有id为prepareGallery节点,所以document.getElementById('prepareGallery')是无法找到的返回null, 由于这句代码if(!document.getElementById('prepareGallery')) return false;,使得prepareGallery()直接返回false,下面的代码不会执行,也就不会报错,a标签没有被绑定点击事件,相当于超链接,所以每次执行都会打开一个新的网页显示制定图片。

使用道具 举报

onclick小写...

使用道具 举报

links.onclick=function(){}这句的onclick是小写就可以了

使用道具 举报

HTML第六行链接JS文件的代码没问题,在Firefox和360安全浏览器中运行都不行。。。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!