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()在 jQuery 中返回一个 jQuery 对象,因此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 回答