2016-06-10 23 views
1

m trying to create an element(image) and then set a loop that would produce 5 images in one div(its id="leftSide"). Here我的代码:如何在循环中创建一个元素并将其追加(5次一个)到特定的div?

<script>  
    var number_of_faces = 0; 
    var theLeftSide = document.getElementById("leftSide"); 

    function generate_faces() { 
     for (number_of_faces = 0; number_of_faces < 6; number_of_faces++) { 
      newFace = document.createElement("img"); 
      newFace.setAttribute(
       "src", 
       "http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png" 
      ); 
      document.getElementById("leftSide").appendChild("img"); 
     } 
    } 


</script> 

身体的onload必须调用功能,但没有任何反应。 DIV仍然是 “空”

回答

2

试试这个代码

<!DOCTYPE html> 
<html> 
<head> 
    <title>Blah</title> 
</head> 
<body> 
<div id="leftSide"> 

</div> 
<script>  
    var number_of_faces = 0; 
    var theLeftSide = document.getElementById("leftSide"); 

    function generate_faces() { 
     for (number_of_faces = 0; number_of_faces < 5; number_of_faces++) { 
      newFace = document.createElement("img"); 
      newFace.setAttribute(
       "src", 
       "http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png" 
      ); 
      theLeftSide.appendChild(newFace); 
     } 
    } 
    generate_faces(); 


</script> 
</body> 
</html> 
+0

你在做什么:var theLeftSide = document.getElementById(“leftSide”);'你为什么要保留它,如果你不使用它? –

1

变化document.getElementById("leftSide").appendChild("img");document.getElementById("leftSide").appendChild(newFace);

+0

非常感谢!还有一个问题:关闭循环和函数大括号之间的空格(没有任何代码): document.getElementById(“leftSide”)。appendChild(“img”); }} 影响函数返回将会是未定义的? –

+0

或更好 - 更多'theLeftSide.appendChild(newFace);'否则没有意义在代码中保留这行代码。 –

+0

不,空格或空格在这种情况下不影响代码 – monterico

1

你传递一个字符串 “IMG”,而不是的Newface元素。
使用document.getElementById("leftSide").appendChild(newFace);
和循环应该是< 5循环5次。

相关问题