用数组替换重复的代码,并对其进行迭代

Replace repeated code with an array and iterate through it

本文关键字:迭代 代码 替换 数组      更新时间:2023-09-26

我想用一个遍历我的元素的数组来替换一些有效但不是最佳的代码。

以下是我正在做的

$('.count0').keyup(function(){
    $('.counted0').text(this.value.replace(/{.*}/g, '').length );
});
$('.count1').keyup(function(){
    $('.counted1').text(this.value.replace(/{.*}/g, '').length );
});
$('.count2').keyup(function(){
    $('.counted2').text(this.value.replace(/{.*}/g, '').length );
});
$('.count3').keyup(function(){
    $('.counted3').text(this.value.replace(/{.*}/g, '').length );
});

等等

我想要实现的是找到每个count类,从中获取文本长度,并将其放入div.counted

如何做到这一点?

标记很简单,如下所示:

<div>
  <input class="count">
  <div class="counted"></div>
</div>

因此,如果标记如此简单,您可以尝试以下操作:

$(".count").on("keyup", function() {
    $(this).next(".counted").text(this.value.replace(/{.*}/g, "").length);
});
$('.count').on('keyup', function(e){
    $(this).next('.counted').text(this.value.replace(/{.*}/g, '').length );
});

小提琴