Общее количество слов будет отображаться в верхней части Textarea., Когда я ввожу или вставляю несколько слов.Как подсчитать слова, используя элемент, используя Javascript?
На самом деле, мне нужно общее количество слов, когда я использовал элемент <textarea id="text"></text>
.
Но я не могу получить общее количество слов, используя <div id="text"></div>
Можно ли считать все слова в пределах элемента <div id="text"></div>
?
JS для подсчета слов.
counter = function() {
var value = $('#text').val();
if (value.length == 0) {
$('#wordCount').html(0);
return;
}
var regex = /\s+/gi;
var wordCount = value.trim().replace(regex, ' ').split(' ').length;
$('#wordCount').html(wordCount);
};
$(document).ready(function() {
$('#text').change(counter);
$('#text').keydown(counter);
$('#text').keypress(counter);
$('#text').keyup(counter);
$('#text').blur(counter);
$('#text').focus(counter);
});
Может ли кто-нибудь помочь мне решить эту проблему?
'var value = $ ('# text'). Text();' вы попробовали? – Jai
Как в стороне, вы можете _heavily_ оптимизировать, что находится в вашем domReady. Замените все это на '$ (document) .on ('change keydown keyup blur focus', '#text', counter)'. В настоящее время вы повторяете 6 доступов DOM подряд, это ужасный дизайн. По крайней мере, вы хотите сохранить '$ ('# text')' в переменной вместо запроса DOM 6 раз: '$ text = $ ('# text')' и повторно использовать $ text. –
Почему вы делаете '.replace (regex, '') .split ('')' вместо '.split (regex)' –