我有一个简短的例程,它应该获得textarea中的单词数,然后将该数字输出到target.然而,无论实际上有多少单词,它总是返回11.
我确信这很简单,但我看不出来,所以如果有人能给我一些指示,我会很感激.谢谢.
jQuery(document).ready(function($){
var target = $('.dd-options #wp-word-count .word-count');
jQuery('textarea#welcome_text').on('keyup', function(){
var text = $(this).val,
word_count = $.trim(text).split(' ').length;
target.html(word_count);
});
});
Run Code Online (Sandbox Code Playgroud)
jQuery val是一个函数,所以你必须调用它(通过放置()它):
jQuery(document).ready(function($){
var target = $('.dd-options #wp-word-count .word-count');
jQuery('textarea#welcome_text').on('keyup', function(){
var text = $(this).val(), // <====================== here
word_count = $.trim(text).split(' ').length;
target.html(word_count);
});
});
Run Code Online (Sandbox Code Playgroud)
你的代码正在做的是toString(隐式)调用一个函数(在大多数浏览器中返回函数源代码的某个版本),然后计算其中的"单词".
旁注:在这种情况下,既然你试图得到a的值textarea,你也可以使用textarea's内置value属性而不是jQuery的val函数:
var text = this.value,
Run Code Online (Sandbox Code Playgroud)
而不是
var text = $(this).val(),
Run Code Online (Sandbox Code Playgroud)
(和)元素value上的属性是非常可靠的跨浏览器.textareainput
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |