2017-12-18 27 views
3

這是我一直什麼遠如何從字符串中寫入每個字符以使用JavaScript分隔div?

這是我的代碼:

function createWordTiles() { 
      var word = ['Example']; 
      var innerDiv; 

      var iDiv = document.createElement('div'); 
      iDiv.id = 'tileBlock'; 
      iDiv.className = "tileBlock"; 

代碼的工作只有我刪除循環:

  for (var l = 0; l <= word.length ; l++) { 

       innerDiv = document.createElement('div'); 
       innerDiv.id = 'Block' + l; 
       innerDiv.className = 'Block'; 
       innerDiv.innerHTML = word.charAt(l); 
      } 

      iDiv.appendChild(innerDiv); 

      document.getElementsByTagName('body')[0].appendChild(iDiv); 
     } 

這是我已取得

如何從字符串中寫入每個字符以使用JavaScript分隔div?

+0

你的問題是,你的重新分配innerDiv'的'與價值每次迭代都不會影響當前值。 –

+0

這樣你只追加最後一個innerDiv元素。試着移動你的'iDiv。 appendChild(innerDiv)在循環內部。 –

+0

哦,謝謝你,先生! – Kuldeep

回答

4

移動你iDiv.appendChild(innerDiv);裏面的for循環,像這樣:

for (var l = 0; l <= word.length ; l++) { 

    innerDiv = document.createElement('div'); 
    innerDiv.id = 'Block' + l; 
    innerDiv.className = 'Block'; 
    innerDiv.innerHTML = word.charAt(l); 

    iDiv.appendChild(innerDiv); 
} 
+1

還有'<='到'<'? –

+1

@ꜱᴜʀᴇꜱʜᴀᴛᴛᴀ爲什麼? 「小於等於」是有效的。 –

+0

@LukeStoward真的嗎? https://jsfiddle.net/zwm5r9yh/ –

2

HTML

<div class="container"> 
    <p class="source-text">Hello world</p> 
</div> 
<ul class="list"></ul> 

JS

jQuery(document).ready(function($) { 
var sourceText = $('.source-text').text(); // get the source text 
var $destinationElm = $('.list'); // get destination 

var i; 
for(i = 0; i < sourceText.length; i++) { // eterate through all characters 
    $destinationElm.append('<li>' + sourceText[i] + '</li>'); // appends html element with text 
}}); 
相關問題