2014-02-27 23 views
0

我對JS非常非常新,沒有編程經驗,我很努力地創建一個在文本框中計算單詞的腳本。我有以下的代碼,我不能得到任何東西來填充: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="wordsCounted"></span> 

任何方向我在哪裏,我莊嚴搞砸會很好。我已經在JS小提琴中嘗試過它,無法讓它填充。

+0

嘗試使用str.split(「」),它正在吐出每一個字符,拆分以前的空白空間。 str.split(「」); –

+0

看起來你在str.split('')中沒有空格,請嘗試str.split('') – Snowburnt

+0

你想計算單詞還是想顯示剩餘的單詞數量? –

回答

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; 
     } 
} 
3

分割方法需要一個正確的字符,你可以用一個空格「」或正則表達式來表示任何空白字符:"My name is XXX".split(/\s+/)將顯示["My", "name", "is", "XXX"]。 如果你只想要你可以做的字數"My name is XXX".split(/\s+/).length,這將返回4.