如何添加和删除输入字段

时间:2017-11-09 06:22:52

标签: javascript html css

我创建了add输入字段和remove字段。 add输入正常,但remove项无法正常工作。请建议如何做到这一点。我附上了代码。提前谢谢。



var x = 1;

function addRow() {
  var e1 = document.createElement("div");
  x++;
  // e1.id = "box1";
  e1.setAttribute('id', "input_" + x);
  e1.className = "box";

  var cont = document.getElementById("content")
  cont.appendChild(e1);

  var e2 = document.createElement("input");
  e2.type = "text";
  e2.name = "name1";

  var cont1 = document.getElementById("input_" + x)
  cont1.appendChild(e2);

}

function removeElement() {
  // Removes an element from the document
  var element = document.getElementById('content');
  element.parentNode.removelastChild(element);
}
var rslt = (nodee = document.getElementById(id)).parentNode.removeChild(nodee);

<div id="content">
</div>
<input type="button" value="add" onclick="addRow()">
<input type="button" value="Delete" onclick="removeElement()">
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:1)

var lastEl = element.lastElementChild;
element.removeChild(lastEl);

使用lastElementChild获取节点的最后一个元素,然后使用removeChild

将其从父元素中删除

<强>样本

var x = 1;

function addRow() {
  var e1 = document.createElement("div");
  x++;
  // e1.id = "box1";
  e1.setAttribute('id', "input_" + x);
  e1.className = "box";

  var cont = document.getElementById("content")
  cont.appendChild(e1);

  var e2 = document.createElement("input");
  e2.type = "text";
  e2.name = "name1";

  var cont1 = document.getElementById("input_" + x)
  cont1.appendChild(e2);

}

function removeElement() {
  // Removes an element from the document
  var element = document.getElementById('content');
  var lastEl = element.lastElementChild;
  element.removeChild(lastEl);
}
<div id="content">
</div>
<input type="button" value="add" onclick="addRow()">
<input type="button" value="Delete" onclick="removeElement()">

答案 1 :(得分:0)

我认为element.removelastChild是一个有效的功能。您可能必须使用

获得最后一个孩子
element.lastElementChild 

并使用

删除它
parentnode.removeChild(childnode)

答案 2 :(得分:0)

你可以试试这个,因为&#39; removelastChild&#39;不是一种有效的方法

    function removeElement() {
        // Removes an element from the document
        var element = document.getElementById('content');
        var childrens = element.children;
        childrens[childrens.length-1].remove()
    }

答案 3 :(得分:0)

你也可以尝试这个。这是另一种解决方案。

function removeElement() {
            var element = document.getElementById('content');
        element.removeChild(element.childNodes[0]);

}