Javascript 删除动态创建的输入
那么,有没有一种简单的方法来获取最后一个节点,这样我就可以简单地删除最后一个节点的输入?deleteinput()函数Javascript 删除动态创建的输入,javascript,Javascript,那么,有没有一种简单的方法来获取最后一个节点,这样我就可以简单地删除最后一个节点的输入?deleteinput()函数 var form=document.getElementById(“表单”); 函数newinput(){ var输入=document.createElement(“输入”); input.type=“text”; 表单。追加子项(输入); } 函数deleteinput(){ form.removeChild(); } 您还应该添加输入s一些id,这样您就可以通过提
var form=document.getElementById(“表单”);
函数newinput(){
var输入=document.createElement(“输入”);
input.type=“text”;
表单。追加子项(输入);
}
函数deleteinput(){
form.removeChild();
}
您还应该添加输入
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%的工作,我没有测试它。也许您需要稍微调整一下,但主逻辑应该是正确的。您可以使用
lastChild
属性来获取最后一个子项,并使用以前的同级
逐步遍历它们,直到获得输入
function deleteinput() {
for (var child = form.lastChild; child.nodeName.toLowerCase() != 'input'; child = child.previousSibling) {
}
if (child) {
form.deleteChild(child);
}
}
是的,您可以通过这种方式获取并删除最后一个元素
var ele = document.getElementById("parent element Id").lastChild;
ele.remove();
有没有办法让它只删除输入,而不是删除表单中的所有子项?我添加了一个循环,以相反的顺序遍历子项,直到它到达一个输入
var ele = document.getElementById("parent element Id").lastChild;
ele.remove();