获取标签名疑问
来源:4-11 编程练习
日拱一卒_
2021-11-13 16:34:55
问题描述:
相关代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>随堂练习</title> <style type="text/css"> .red{ border:1px solid red; } </style> </head> <body> 姓名:<input type="text" id="input"> <span></span> <script> // 老师请问,这里在获取标签名的时候,为什么需要写[0],这里不理解 var input = document.getElementsByTagName('input')[0]; var span = document.getElementsByTagName('span')[0]; input.onfocus = function() { if(this.value == ''){ span.innerHTML = '请输入您的姓名'; } } input.onblur = function() { if(this.value == ''){ span.innerHTML = '用户名不能为空'; this.className = 'red'; } } </script> </body> </html>
1回答
同学你好,解答如下:
getElementsByTagName这个方法比较特殊,它获取的结果是类似数组的形式(把真正的dom元素,放到了类数组中):
因此想要获取真正的dom元素,则要使用索引的形式。
同学的代码中,只有一个input,对应索引是0,因此要写成document.getElementsByTagName('input')[0]。
祝学习愉快!
相似问题
回答 1