为什么超出的时候我退掉了几个然后并没有实时显示超出多少个

来源:4-10 编程练习

慕尼黑0510008

2022-01-04 15:19:16

<script>

window.onload = function() {

var p = document.getElementById('p');

var span = document.getElementById('span');


var b = document.getElementById('b');


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





textarea.onkeyup = function() {


var offset = textarea.value.length;


if (offset <= 30) {



b.innerText = 30 - offset;




} else if (offset > 30) {


span.innerHTML = '您已超出' + (offset - 30) + '字'

}





}



}

</script>

</head>

<style>


</style>


<body>




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

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




</body>


写回答

1回答

好帮手慕久久

2022-01-04

同学你好,解答如下:

当文字超出时,span标签的内容人为的设置成“纯文字”:

https://img.mukewang.com/climg/61d3fa680997f1ff06300093.jpg

此时span中原有的b标签被删除了:

https://img.mukewang.com/climg/61d3fa8f09398b3009030120.jpg

因此再次回删后,就没法给原来的b标签设置内容了:

https://img.mukewang.com/climg/61d3fac20942e91109750438.jpg

建议调整如下:

https://img.mukewang.com/climg/61d3fb480929a07111170585.jpg

祝学习愉快!

0

0 学习 · 15276 问题

查看课程