0

シンプルな入力フォームがあり、文字をユーザー タイプとしてカウントしたいと考えています。カウント 10 で、いくつかの CSS を追加したいと思います。ここにカウントするためのコードがあります

var count = $('#charCount').text(this.value.replace(/ /g, '').length);

おそらく間違った構文で動作しない条件は次のとおりですか?

if (count === '10') {
        $('#charCount').css({
            'background-color': 'green'
        });

完全なコードはこちらhttp://jsfiddle.net/Fv9ug/

4

4 に答える 4

1

.text()in jQuery は jQuery オブジェクトを返すため、true と評価されることのないcount整数を格納しません。count === 10

が整数であると想定されている場合、===常に false を返す厳密な等価演算子も使用しています。count === '10'count

コードは次のようになります。

$(document).ready(function() {
    $('#myInput').keyup(function() {
        var count = this.value.replace(/ /g, '').length;

        $('#charCount').text(count);

        if (count === 10) {
            $('#charCount').css({
                'background-color': 'green'
            });
        } else {
            $('#charCount').css({
                'background-color': 'red'
            });
        }
    });
});
于 2013-06-09T23:24:12.233 に答える
0

lengthは数字なので、そうあるべきです

if (count === 10) {
于 2013-06-09T23:16:55.593 に答える
0
var count = this.value.replace(/ /g, '').length;
    $('#charCount').text( count );

    if (count >= 10) {
        $('#charCount').css({
            'background-color': 'green'
        });
    }

http://jsfiddle.net/Fv9ug/1/

于 2013-06-09T23:19:21.863 に答える
0

text はオブジェクトを返すため、これから長さを正しく読み取ることはできません。

于 2013-06-09T23:25:07.443 に答える