jQuery 字符计数变量问题
Posted
技术标签:
【中文标题】jQuery 字符计数变量问题【英文标题】:jQuery Char Count Variable Issue 【发布时间】:2014-03-02 17:23:17 【问题描述】:我正在查看在 jQuery 中使用字符计数的各种方法,并找到了一种并对其进行了修改并实现了它,但我遇到了一些问题。只是想知道你们是否可以给我任何关于我可能出错的地方的指示。
这是我的代码:
function countChar(val)
var len = val.value.length;
if (len >= 500)
val.value = val.value.substring(0, 500);
$('.stat').text(0);
else
$sv = (500 - len);
$('.stat').text($sv);
if ($sv <= 20)
$('.stat').css('border': '1px solid #C33', 'color': '#C33', 'background-color': '#F6CBCA');
else if ($sv >= 21 && $sv <= 150)
$('.stat').css('border': '1px solid #9F6000', 'color': '#9F6000', 'background-color': '#FEEFB3');
else
$('.stat').css('border': '1px solid #090', 'color': '#090', 'background-color': '#DFF2BF');
countChar($('#notes').get(0));
$('#notes').keyup(function()
countChar(this);
);
My ('#notes') 只是一个普通的文本区域。
我有一个小提琴here:
这是基于here找到的问题
当我在我的页面上实现它时,它没有显示出来。在查看萤火虫时,它给了我以下错误:
TypeError: val 未定义
据我了解,此错误意味着您需要使用 var 声明它。
我已经这样做了,然后我收到以下错误:
TypeError: val.value 未定义
我确实尝试过在 val.value 上做一个 var,但这会引发语法错误。
我确实尝试在 countChar() 中使用 var val,但它给出了以下错误:
语法错误:缺少形式参数
我似乎看不出我缺少什么,因为它以我希望的方式在小提琴中工作。
任何指针将不胜感激。提前致谢。
【问题讨论】:
您正在传递一个元素,出于某种原因,您认为定义一个变量来传递该元素到函数的参数应该是一个好主意? 我不确定问题出在哪里,因为您提供的 jsfiddle 示例似乎运行良好。 我无法在小提琴上复制这个问题。我不知道为什么 FF 和 Chrome 会抛出这些错误。 Emile:那是我的错,我现在已经修复了代码 将构造函数更改为function countChar(val)
。
【参考方案1】:
问题似乎是我把它放在了 document.ready 之外,甚至没有意识到我有。它现在就像一个魅力
【讨论】:
以上是关于jQuery 字符计数变量问题的主要内容,如果未能解决你的问题,请参考以下文章