【第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多行文本输入框中用户输入的内容。
祝学习愉快!
相似问题