这是一个非常简单的问题. jQuery是否有可能获得一个元素,并计算该元素(不是文本区域或输入)中的单词和字符数,并在HTML文档中将其回显?我能想到的唯一可行的代码是:
This is a really simple question. Is it possible for jQuery to get an element, and count the number of words AND characters in that element (not a textarea or input) and echo it out on a HTML document? The only code that I could think of that may work is:
document.write("$('.content').text().length;")我真的很讨厌jQuery,但是我正在尝试学习它.如果有人可以提供脚本,那会有所帮助.
I'm really bad at jQuery, but I'm trying to learn it. If anyone could provide a script, that'd be helpful.
推荐答案var txt = $('.content')[0].text() , charCount = txt.length , wordCount = txt.replace( /[^\w ]/g, "" ).split( /\s+/ ).length ; $( '#somwhereInYourDocument' ).text( "The text had " + charCount + " characters and " + wordCount +" words" );
在拆分之前运行替换以消除标点符号,并使用正则表达式运行split来处理新行,制表符和单词之间的多个空格.
Running replace before split to get rid of punctuation, and running split with a regular expression to deal with new lines, tabs and multiple spaces in between words.
EDIT 添加了text(...)位以写入节点,作为对另一个答案的注释中指定的OP.
EDIT added the text( ... ) bit to write to a node, as the OP specified in a comment to another answer.
编辑,您仍然需要将其包装在一个函数中,以使其在页面加载后可以正常工作
EDIT you still need to wrap it in a function to make it work after page load
$( function(){ var txt = $('.content')[0].text() , charCount = txt.length , wordCount = txt.replace( /[^\w ]/g, "" ).split( /\s+/ ).length ; $( '#somwhereInYourDocument' ).text( "The text had " + charCount + " characters and " + wordCount +" words" ); });否则它将在页面上呈现任何内容之前运行
Otherwise it runs before anything has been rendered on the page
更多推荐
jQuery字符和字数统计
发布评论