删除动态创建的输入

Deleting dynamically created inputs

本文关键字:输入 创建 动态 删除      更新时间:2023-09-26

那么是否有一种简单的方法可以获得最后一个节点,以便我可以简单地从最后一个节点删除输入?

deleteinput()函数。


<script>
    var form = document.getElementById("form");

    function newinput(){    
        var input = document.createElement("input");
        input.type = "text";
        form.appendChild(input);
    }
    function deleteinput(){
        form.removeChild();
    }
</script>

您应该添加您的input s和id,以便您可以通过提供id作为deleteinput()函数的参数来删除它们。

你的函数看起来像这样

function deleteinput(name) {
    var input = document.getElementByName(name);
    form.removeChild(input);
}

newinput()也会相应改变:

function newinput(name) {
    var input = document.createEleement("input");
    input.type = "text";
    input.name = name;
    form.appendChild(input);
}

您也可以创建一些全局整数,并通过一些字符串+您的全局变量的增量值自动生成输入的名称-这样您就不需要将name参数传递给newinput()函数。

我不确定这将100%工作,我没有测试它。也许你需要稍微调整一下,但主要的逻辑应该是正确的。

可以通过这种方式获取和删除最后一个元素。

var ele = document.getElementById("parent element Id").lastChild;
ele.remove();

您可以使用lastChild属性来获取最后一个子属性,并使用previousSibling来遍历它们,直到获得input

function deleteinput() {
    for (var child = form.lastChild; child.nodeName.toLowerCase() != 'input'; child = child.previousSibling) {
    }
    if (child) {
        form.deleteChild(child);
    }
}