1

機能しているが最適ではないコードを、要素を反復処理する配列に置き換えたいと考えています。

これが私がやっていることです

$('.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>
4

2 に答える 2

4

したがって、マークアップがそれほど単純な場合は、次のことを試すことができます。

$(".count").on("keyup", function() {
    $(this).next(".counted").text(this.value.replace(/{.*}/g, "").length);
});
于 2013-04-19T09:42:15.267 に答える
1
$('.count').on('keyup', function(e){
    $(this).next('.counted').text(this.value.replace(/{.*}/g, '').length );
});

フィドル

于 2013-04-19T09:42:35.690 に答える