javascript - js遇到一些问题,请看代码
怪我咯
怪我咯 2017-04-10 15:12:24
[JavaScript讨论组]






    1pic
2pic
3pic
< script> function prepareGallery(){ //if(!document.getElementsByTagName) return false; //if(!document.getElmentById) return false; var gallery = document.getElementsByTagName('a'); for(var i=0; i

本意是html加载完毕之后自动运行js代码,给每个a标签加上onclick事件。运行正常
但是如果把prepareGallery函数里2行注释的代码释放,则运行效果是js代码失效,点击a链接会直接跳转相关图片地址,为什么?

问题2:



    


    

这个当我点击name名为province的select元素时,为什么没有弹出99?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
ringa_lee

问题二:

var province = document.getElementsByName('province');

你的province得到的是一个集合。
你看getElementsByName里的Elements是复数(带s),所以获取到的不是单个对象,而是多个对象。
所以下面应该写成

province[0].onclick=function(){}
高洛峰

注释的第二行 getElmentById 少了一个字母 e。所以 !document.getElmentByIdtrue

PHP中文网
  1. 不能给 getElementsByName 返回的个 NodeList 集合绑定的 onclick 事件。

参考:
Document.getElementsByName()

天蓬老师

以上帮你解答了

阿神

//if(!document.getElmentById) return false; ---- 拼写错误;

var province = document.getElementsByName('province'); ---- 函数名都说明获取的的是Elements(复数)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号