看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 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
错误有两处:
首先:第一句改为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标签没有被绑定点击事件,相当于超链接,所以每次执行都会打开一个新的网页显示制定图片。 |
|
|
|
|
links.onclick=function(){}这句的onclick是小写就可以了 |
|
|
|
|
HTML第六行链接JS文件的代码没问题,在Firefox和360安全浏览器中运行都不行。。。 |
|
|
|
|