我是非常非常新的JS,没有编程经验,我正在努力创建一个计算文本框中单词的脚本。我有以下代码,我无法得到任何东西填充:
var myTextareaElement = document.getElementById("myWordsToCount");
myTextareaElement.onkeyup = function(){
var wordsCounted = myTextareaElement.value;
var i = 0;
var str = wordsCounted;
var words = str.split('');
for (var i = words.length; i++) {if (words[i].length > 0; i++) { words[i] };
}
对于HTML中的Span Id,我提出以下内容:
<span id="wordsCounted"></span>
任何方向,我在皇室般的搞乱都会很棒。我已经在JS小提琴中尝试了它,但无法让它填充。
答案 0 :(得分:3)
split方法需要一个合适的字符,你可以使用空格“”或正则表达式来表示任何空白字符:"My name is XXX".split(/\s+/)
将显示["My", "name", "is", "XXX"]
。
如果您只想要单词数量"My name is XXX".split(/\s+/).length
,则返回4。
答案 1 :(得分:0)
试试这个,这可能会做你想要的。而不是做一个for循环,只计算有多少个单词并显示数组的长度。
var myTextareaElement = document.getElementById("myWordsToCount");
myTextareaElement.onkeyup = function(){
var wordsCounted = myTextareaElement.value;
var i = 0;
var str = wordsCounted;
var words = str.split('');
if (words.length > 0){
document.getElementById('wordsCounted').innerHTML = words.length;
}
}