jQuery символ и количество слов - PullRequest
2 голосов
/ 26 марта 2012

Это действительно простой вопрос. Возможно ли для jQuery получить элемент, подсчитать количество слов и символов в этом элементе (не текстовое поле или ввод) и отобразить его в HTML-документе? Единственный код, который я мог придумать, может работать:

document.write("$('.content').text().length;")

Я очень плохо разбираюсь в jQuery, но я пытаюсь научиться этому. Если бы кто-нибудь мог предоставить сценарий, это было бы полезно.

Ответы [ 2 ]

10 голосов
/ 26 марта 2012
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" );

Выполнение замены перед разделением, чтобы избавиться от пунктуации, и выполнение разделения с регулярным выражением для работы с новыми строками, символами табуляции и несколькими пробелами между словами.

РЕДАКТИРОВАТЬ добавил бит текста (...) для записи в узел, как OP, указанный в комментарии к другому ответу.

РЕДАКТИРОВАТЬ вам все еще нужно обернуть его в функцию, чтобы она работала после загрузки страницы

$( 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" );
});

В противном случае он запускается до того, как что-либо будет отображено на странице

3 голосов
/ 26 марта 2012
<span id="elementId">
We have here 8 words and 35 chars
</span>​

var text = $('#elementId').text();
var charsLength = text.length;           //35
var wordsCount = text.split(' ').length; //8

Live DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...