2017-04-10 14 views
0

私は、ユーザにアラートを送り、番号を入力させたい。対応する数の画像が表示されます。私はこのコードを持っている:ユーザーの入力数を表示していますか? Javascript

<!DOCTYPE hmtl> 
<html> 
    <head> 
    <script> 
//creating my function 
    function howMany(){ 
     var numBurgers = parseInt(prompt('How many burgers do you want?', "3")); 
     var x = ""; 

     for(var count = 0; count < numBurgers; count++;){ 
      x += "<img src=\"burger.jpg\" />"; 
     } 

     document.getElementById('burgerImages').innerHTML = x; 
    } 
</script> 
</head> 
<body onload="howMany();"> 
    <div id="burgerImages"></div> 
</body> 
</html> 

誰かが私が交換することを示唆した "のdocument.getElementById( 'burgerImages')をinnerHTMLの= X;。" "document.getElementById( 'burgerImages')。appendChild(x)。"との " しかし、それは動作しません。 アイデア

+0

'appendChild'の場合、渡される引数は' document.createElement'で作成された実際のDOM要素であり、文字列ではありません。 –

答えて

1

基本的にappendChildは、パラメータがNode Elementであり、文字列ではないと想定しています。

あなたが異なるノードを作成する必要があり、その後、それらのノードを追加します。

var fragmentCollection = document.createDocumentFragment(); 
for (var i = 0; i < numBurgers; i++) {  
    var img = document.createElement("img"); 
    img.setAttribute('src', 'burger.jpg'); 
    fragmentCollection.appendChild(img); 
} 
var burgerContainer = document.getElementById('burgerImages'); 
burgerContainer.appendChild(fragmentCollection); 

参考文献:

関連する問題