这个jquery代码有什么问题,它让我发疯了?

时间:2014-03-11 18:41:18

标签: javascript jquery

我有一个ID为textarea_feedback的div和一个ID为msg的textarea。

这是我的jQuery代码:

$(document).ready(function(){
    var text_max = 160;
    $('#textarea_feedback').html(text_max + ' characters remaining');
    $('#msg').keyup(function(){
        var text_length = $('#msg').val().length;
        var text_remaining = text_max - text_length;
        $('#textarea_feeeback').html(text_remaining + ' characters remaining');
    });
});

2 个答案:

答案 0 :(得分:4)

$('#textarea_feeeback')是一个错字。

这实际上是Vanilla JS相对于jQuery的强大功能的一个非常具体的例子,并且jQuery对于它自己的好处太聪明了。 Vanilla JS代码:

document.getElementById('textarea_feeeback').innerHTML = text_remaining+" characters remaining";

...会抛出一个错误,说它无法设置null的innerHTML,这是绝对正确的,因为textarea_feeeback不存在。然而,jQuery只有一个没有元素的对象,设置这些零元素的html()非常简单:什么也不做。

不幸的是,"什么都不做"这就是你无法调试它的原因!

答案 1 :(得分:1)

    $('#textarea_feeeback').html(text_remaining + ' characters remaining');
                    ^--- typo