首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本区域中的单词数始终返回11

文本区域中的单词数始终返回11
EN

Stack Overflow用户
提问于 2012-12-12 23:29:13
回答 1查看 79关注 0票数 1

我有一个简短的例程,用于获取文本区域中的单词数量,然后将该数字输出到target。但是,无论实际有多少个单词,它总是返回11。

我确定这是简单的东西,但我看不见,所以如果有人能给我一些指点,我将不胜感激。谢谢。

代码语言:javascript
复制
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);

    });

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-12 23:31:29

jQuery的val是一个函数,所以你必须调用它(通过在它后面加上() ):

代码语言:javascript
复制
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);

    });

});

您的代码所做的是对函数(在大多数浏览器中返回函数源代码的某个版本)(隐式地)调用toString,然后计算其中的“单词”。

附注:在这种情况下,由于您试图获取textarea的值,因此也可以只使用textarea的内置value属性,而不是jQuery的val函数:

代码语言:javascript
复制
var text = this.value,

而不是

代码语言:javascript
复制
var text = $(this).val(),

textarea (和input)元素上的value属性是非常可靠的跨浏览器的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13843047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档