这个为啥不显示还剩余多少字啊,只显示已超出

来源:4-10 编程练习

qq_MrSilver_0

2021-03-31 20:19:18

<p>字数限制在30字内,<span>您还可以输入<b>30</b> 字</span></p>

        <textarea cols="50"  rows="7"  id="text"></textarea>


        <script>

            var a=document.getElementById('text');

            var b=document.getElementsByTagName('span')[0];

            var c=document.getElementsByTagName('b')[0];

            a.onkeyup=function(){

                   var t=text.value.length;

                   if(t>30){

                       var tt=t-30;

                       b.innerHTML='已超出' + '<b>' + tt + '</b>' + '字';

                   }

                   else{

                       c.innnerHTML=30-t;

                   }

            }


写回答

1回答

好帮手慕慕子

2021-04-01

同学你好,因为如下图所示位置的innerHTML单词拼写错误,所以输入的时候,还可以输入多少字不会发生改变,建议修改:

http://img.mukewang.com/climg/606524ba09b8e41e04710169.jpg

经过上述修改时,输入时字数会发生改变,但是当内容长度超出30后,回删内容时,提示文字不再发生改变,示例:

http://img.mukewang.com/climg/60652578093d48c804470178.jpg

原因:超出的时候没有了b标签,所以回删的时候无法在b标签中添加内容。

建议:内容长度小于等于30的时候,也是针对span元素设置innerHTML属性值。示例:

http://img.mukewang.com/climg/606525c709dba44910220450.jpg

祝学习愉快~

0

0 学习 · 15276 问题

查看课程