Javascript 如何查找父节点并删除子节点

Javascript 如何查找父节点并删除子节点,javascript,html,forms,Javascript,Html,Forms,我对JavaScript非常缺乏经验,在做了相当多的搜索和审查其他线程之后,我很难弄清楚如何以类似于我的用例的方式(或者更可能的是,我不懂!)从web表单中动态删除字段 我的理解是,如果不引用父节点,就无法从DOM中删除元素。但是,在使用removeChild()时,我不完全确定应该在代码中引用什么作为父节点。我怀疑它是我的HTML中的某个东西;如果有人能给我指出正确的方向那就太好了 HTML中的, 通常,我在这里调整代码时遇到的错误是未捕获的TypeError:Cannot read属性're

我对JavaScript非常缺乏经验,在做了相当多的搜索和审查其他线程之后,我很难弄清楚如何以类似于我的用例的方式(或者更可能的是,我不懂!)从web表单中动态删除字段

我的理解是,如果不引用父节点,就无法从DOM中删除元素。但是,在使用removeChild()时,我不完全确定应该在代码中引用什么作为父节点。我怀疑它是我的HTML中的某个东西;如果有人能给我指出正确的方向那就太好了

HTML中的


通常,我在这里调整代码时遇到的错误是未捕获的TypeError:Cannot read属性'removeChild'为null

要从文档中删除节点,应首先从JavaScript代码中为其指定id。这将使以后以编程方式删除变得更加容易

例如:

var r = document.createElement("span");
r.id = "myID";
var y = document.createElement("INPUT")
var p = document.createElement('p');
var g = document.createElement("IMG");
...
// Later
var p = document.getElementById("myID");
p.parentNode.removeChild(p);

我真的想建议使用JQuery来实现这个。。。但是我现在才意识到,我甚至不能用母语编写代码。我现在恨我自己。除非我遗漏了什么,否则这似乎会删除图像元素本身。我需要删除整个
标记。将变量中的替换为
时,出现错误
无法读取null的属性'removeChild'。
function myFunction(){
    var r = document.createElement('span');
    var y = document.createElement("INPUT")
    var p = document.createElement('p');
    var g = document.createElement("IMG");
    y.setAttribute("type", "text");
    y.setAttribute("placeholder", "myFormField");
    g.setAttribute("src", "delete.png");
    g.setAttribute("onclick", //should remove entire form input field(span)//);
    increment();
    y.setAttribute("Name", "myField" + "~input_" + i);
    r.appendChild(y);
    r.appendChild(g);
    r.appendChild(p);
    document.getElementById("rf1").appendChild(r);
}
var r = document.createElement("span");
r.id = "myID";
var y = document.createElement("INPUT")
var p = document.createElement('p');
var g = document.createElement("IMG");
...
// Later
var p = document.getElementById("myID");
p.parentNode.removeChild(p);