2014-10-05 207 views
0

我想在點擊按鈕時將新節點添加到div。操作這必須作爲函數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 2014-10-05 08:43:32

回答

2

聲明參數時,您需要有不同的名稱的參數,因爲this是一個關鍵詞。

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)

順便說一句,你沒有使用該參數,是嗎?