将节点添加到div

时间:2014-10-05 08:41:34

标签: javascript html dom

我想在点击按钮时向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>

1 个答案:

答案 0 :(得分: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)

顺便说一下,你没有使用那个参数,是吗?