javascript - JS这样获取元素为什么会报错?
PHP中文网
PHP中文网 2017-04-11 11:07:09
[JavaScript讨论组]

Uncaught TypeError: op1[i].getElementsByName is not a function
为什么会报这个错误 为什么改成通过id获取就不会报错了?
而且我想要的效果是点击显示按钮时就把按钮对应的左侧的数字显示在下面的蓝色的方块里面 我这样写对吗?


    
        
        
        
    

111显示
222显示
333显示

444显示
555显示
666显示

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
黄舟

一、确定改成element.getElementById就不报错了吗?
element只有三个方法

  1. Element.getElementsByTagName

  2. Element.getElementsByClassName

  3. Element.getElementsByTagNameNS

其他的那些都是document的方法。不一样的。
选取元素的时候尽量还是使用class和id。


二、程序运行上也是有问题的。
op2[i].innerHTML=age;这一块。运行的时候去外部查找i的值。外部运行完i已经是2了,所以op2[i]就会是undefined,建议传参或者使用闭包。可能修改的时候还会有连续的错误,先自己修改一下吧。

PHP中文网

op1[i]是一个元素,并没有getElementsByName方法

高洛峰

用document啊你上面都是document,下面还不是一样

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

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