首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jquery中防止在dom中重复插入元素

在jquery中防止在dom中重复插入元素
EN

Stack Overflow用户
提问于 2021-06-01 08:28:00
回答 2查看 25关注 0票数 0

请帮帮我!我有一个文本区域,它计算并显示用户输入的文本的数量,但是当文本增加或减少时,counter元素会在dom上创建重复的文本。我想让它显示一个元素,但是计数器的数量要改变。请帮帮我。我的jquery代码如下。

代码语言:javascript
运行
复制
//on type show text remain on textarea inout fields
$('textarea').on("input", function(){
    var maxlength = $(this).attr("maxlength");
    var currentLength = $(this).val().length;

    var $txtremain = maxlength - currentLength;

    if( currentLength >= maxlength ){
        console.log("You have reached the maximum number of characters.");
    }else{
      if ($('.txtacntr').length === 0) {
        $(this).after('<span class="txtacntr">' + $txtremain + ' chars left. </span>');
      }
    }
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-01 09:17:47

只需将div与span放在一起,然后在其中更改数字即可。

您的状态不是很好"<=“更改的"===”。

代码语言:javascript
运行
复制
//on type show text remain on textarea inout fields
$(".counter span").text($('textarea').attr("maxlength"));

$('textarea').on("input", function(){
    var maxlength = $(this).attr("maxlength");
    var currentLength = $(this).val().length;
   
    var $txtremain = maxlength - currentLength;
    //console.log(maxlength);
    //console.log(currentLength);

    if (currentLength === maxlength) {
      $(".counter span").text('0');
    } else if ($('.txtacntr').length <= maxlength) {
      $(".counter span").text($txtremain);
    } else if( currentLength >= maxlength ){
        console.log("You have reached the maximum number of characters.");
    }
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea maxlength="60"></textarea>
<div class="counter"><span></span> chars left.</div>

票数 0
EN

Stack Overflow用户

发布于 2021-06-01 20:40:56

这对我来说终于管用了。

代码语言:javascript
运行
复制
$('textarea').on("input", function(){
    var maxlength = $(this).attr("maxlength");
    var currentLength = $(this).val().length;

    var $txtremain = maxlength - currentLength;

    if (currentLength === maxlength) {
      $(".counter span").text('0');
    } else if ( currentLength <= maxlength) {
      $(".counter span").text($txtremain);
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67781433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档