获取标签名疑问
来源: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