计算字符并在特定数字处添加类

时间:2013-06-09 23:14:56

标签: jquery jquery-selectors

我有一个简单的输入表单,并希望将字符计为用户类型。在计数10我想添加一些CSS。这是计算代码

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

这是一个不起作用的条件可能是错误的语法?

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

完整代码在这里http://jsfiddle.net/Fv9ug/

4 个答案:

答案 0 :(得分:1)

jQuery中的

.text()返回一个jQuery对象,因此count不存储一个整数,意味着count === 10永远不会计算为true。

你还使用===严格相等运算符,如果count === '10'应该是一个整数,它将始终对count返回false。

您的代码应如下所示:

$(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'
            });
        }
    });
});

答案 1 :(得分:0)

length是一个数字,所以它应该是

if (count === 10) {

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

text返回一个对象,因此你无法从中正确读取长度。