2014-10-05 4 views
0

버튼을 클릭하면 div에 새 노드를 추가하고 싶습니다. this 키워드 때문에 운영자이, 함수 addNode 명 (이) 매개 변수를 선언 할 때 당신은 다른 이름을 가질 필요가div에 노드 추가

<div id = "files"> 
    <div> 
     <input type="file" name="main_photo"> 
     <input type="button" value="add" onclick="addNode(this)"> 
     <input type="button" value="delete" onclick="deleteNode(this)"> 
    </div> 
</div> 
<script language="javascript"> 
    function addNode(this){ 
     var x = document.getElementById("files"); 
     var y = x.getElementsByTagName("div"); 
     var clone = y.cloneNode(true); 
     x.appendChild(clone); 
    }; 

</script> 
+0

식별자로 'this'를 사용할 수 없습니다. 'this'는 키워드입니다! – undefined

답변

2

의 매개 변수로해야합니다.

function addNode(elem){ 
    var x = document.getElementById("files"); 
    var y = x.getElementsByTagName("div"); 
    var clone = y.cloneNode(true); 
    x.appendChild(clone); 
}; 

또한, yNodeList이며, 당신은 당신이 일을하지 않는 인덱스에 의해 그 안에 요소에 액세스해야합니다. 그러므로 var clone = y[0].cloneNode(true)

아직 매개 변수를 사용하지 않으셨습니까?