我有一个简单的输入表单,并希望将字符计为用户类型。在计数10我想添加一些CSS。这是计算代码
var count = $('#charCount').text(this.value.replace(/ /g, '').length);
这是一个不起作用的条件可能是错误的语法?
if (count === '10') {
$('#charCount').css({
'background-color': 'green'
});
完整代码在这里http://jsfiddle.net/Fv9ug/
答案 0 :(得分:1)
.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'
});
}
答案 3 :(得分:0)
text返回一个对象,因此你无法从中正确读取长度。