我有一个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');
});
});
答案 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