1

テキストエリアにある単語の数を取得し、その数をに出力することになっている短いルーチンがありますtarget。ただし、実際に単語がいくつあっても、常に11を返します。

簡単なことだと思いますが、見た目がわからないので、誰かが教えてくれたらありがたいです。ありがとう。

jQuery(document).ready(function($){

    var target = $('.dd-options #wp-word-count .word-count');

    jQuery('textarea#welcome_text').on('keyup', function(){

        var text = $(this).val,
            word_count = $.trim(text).split(' ').length;

        target.html(word_count);

    });

});
4

1 に答える 1

5

jQueryvalfunction()であるため、(後に配置して)呼び出す必要があります。

jQuery(document).ready(function($){

    var target = $('.dd-options #wp-word-count .word-count');

    jQuery('textarea#welcome_text').on('keyup', function(){

        var text = $(this).val(), // <====================== here
            word_count = $.trim(text).split(' ').length;

        target.html(word_count);

    });

});

コードが行っていたのはtoString、関数 (ほとんどのブラウザーでは関数のソース コードのバージョンを返す) を (暗黙的に) 呼び出し、その中の「単語」を数えることでした。

補足: この場合、 a の値を取得しようとしているので、jQuery の関数の代わりにの組み込みプロパティをtextarea使用することもできます。textareavalueval

var text = this.value,

それよりも

var text = $(this).val(),

(and ) 要素のvalueプロパティは、非常に信頼性の高いクロスブラウザーです。textareainput

于 2012-12-12T15:31:28.687 に答える