老师看下代码,最后超过30后删除多余也显示-1
来源:4-5 编程练习
yarwood
2020-09-12 22:12:42
<!DOCTYPE html>
<html>
<head lang="en">
<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">
//获取文本框和b和span
var text=document.getElementById("text"),
lenth=document.getElementsByTagName("b")[0],
span=document.getElementsByTagName("span")[0],
total=30;
text.onkeyup=function(){
var len=this.value.length;
var allow=total-len;
//判断字数小于等于30
if(len<=30){
lenth.innerHTML=allow;
}
else{
lenth.innerHTML=-allow
span.innerHTML="您已超出"+lenth.innerHTML+"字"
span.style.color="red";
}
}
</script>
</body>
</html>
3回答
好帮手慕言
2020-09-13
同学你好,如果输入的内容字数少于30,那么就会触发if,例如:
超出30个字,按删除键,字体颜色改为了黑色,代表执行的是if里面的语句。
整体效果可以按照第一次回复修改,祝学习愉快~
好帮手慕言
2020-09-13
同学你好,在超出的时候,直接给span的innerHTML赋值, 改变了html的结构,导致超出之后,就没有b这个标签了,所以删除到小于30的时候,无法再给b标签赋值了,所以无法实现效果。
建议:可以添加b标签,例如
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
yarwood
提问者
2020-09-12
所以我的意思是删除到字数小于等于30的时候,会恢复的原来的格式
相似问题