我想在点击按钮时向div添加新节点。运算符必须作为函数addNode(this)的参数
<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 :(得分:2)
在声明参数时,您需要使用其他名称,因为this
是关键字。
function addNode(elem){
var x = document.getElementById("files");
var y = x.getElementsByTagName("div");
var clone = y.cloneNode(true);
x.appendChild(clone);
};
此外,y
是NodeList
,您需要通过您尚未执行的索引访问其中的元素。
因此var clone = y[0].cloneNode(true)
顺便说一下,你没有使用那个参数,是吗?