【第7周 DOM 4-11 提示输入框】getElements是得到一个数组吗?.value是输入的字符串吗?
来源:4-10 编程练习
easyschen
2021-12-05 14:36:06
问题描述:
老师麻烦问下红框内的问题:
Q1:因为getElements 获取的是一个数组,如果不写[0],就无法得到子节点元素。
span.getElementsByTagName('span')得到的只是<span></span>这两个标签?
oSpan[0] = "您还可以输入"
oSpan[1] = "<b>30</b>"
oB[0] = "30";
oSpan[2] = "字"
麻烦看下是这样的吗?
Q2:oText.value 就是输入框中的字符串
麻烦老师看下上面两个问题是这样思考的吗?
相关截图:


相关代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>输入文本</title>
</head>
<body>
<p>字数限制在30字内,<span>您还可以输入<b>30</b> 字</span></p>
<textarea cols="50" rows="7" id="text"></textarea>
<script type="text/javascript">
//补充代码
var oText = document.getElementById('text');
var oSpan = document.getElementsByTagName("span")[0];
var oB = document.getElementsByTagName('b')[0];
var textL = 30;
oText.onkeyup = function(){
//每次输入时候字符串的长度
var eachL = oText.value.length;
//超出总长度的部分
var leftL = textL - eachL;
if(leftL>=0){
oSpan.innerHTML = "您还可以输入<b>"+leftL+"</b>字";
}else{
oSpan.innerHTML = "已超出<b>"+(-leftL) +"</b>字";
}
}
</script>
</body>
</html>1回答
好帮手慕然然
2021-12-05
同学你好,解答如下:
1、不是的,document.getElementsByTagName('span'),得到的是HTML中所有的span标签,并以类数组的形式返回结果。如果HTML中有一个span标签,那么类数组中就有一个span标签,如果HTML中有两个span标签,那么类数组中就有两个span标签,如图


2、.value用于获取输入框中用户输入的内容,也就是同学所说的输入框中的字符串,oText.value就是获取oText多行文本输入框中用户输入的内容。
祝学习愉快!
相似问题