老师,帮忙看一下
来源:4-5 编程练习
Jeremy_Li7
2019-12-27 21:35:54
<!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 area=document.getElementById("text");
var b=document.getElementsByTagName("b")[0];
var total=30,len;
var span=document.getElementsByTagName("span")[0];
area.onkeyup=function(){
len=area.value.length;
if(0<=len && len<=30){
b.innerHTML=total-len;
}
if(len>30){
b.innerHTML=len-total;
span.innerHTML="您已超过"+b.innerHTML+"字";
}
}
</script>
</body>
</html>1回答
同学你好,代码问题如下:
1、超出之后,再删除的话,提示回不到还可以输入的提示。如下:

这是因为改变了结构,改变了html的结构,超出之后,就没有b这个元素,不能直接赋值,建议:输入的也可以对span赋值,例:

2、这两个判断执行一个就好了,不会即小于等于30,又大于30的,建议:下面的可以使用else if

3、大于30这里,建议:不需要给b赋值了,直接设置给span即可,例:

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题