Javascript NotFoundError:DOM异常8

Javascript NotFoundError:DOM异常8,javascript,asp-classic,removechild,Javascript,Asp Classic,Removechild,直截了当地说: function dell(a) { var id = a.split(''); var rs_array = ["nr", "ps", "aan", "des", "subs", "del"]; var r_array = ["artnr", "ps", "aan", "des", "subtots", "del"]; for (i = 0; i < 6; i++) //ligt aan nummer { var r

直截了当地说:

function dell(a) {
    var id = a.split('');
    var rs_array = ["nr", "ps", "aan", "des", "subs", "del"];
    var r_array = ["artnr", "ps", "aan", "des", "subtots", "del"];
    for (i = 0; i < 6; i++) //ligt aan nummer
    {
        var regels = document.getElementById(rs_array[i]);
        regels.removeChild(document.getElementById(r_array[i] + id[3]));
    }
}
功能dell(a){
var id=a.分割(“”);
var rs_数组=[“nr”、“ps”、“aan”、“des”、“subs”、“del”];
var r_数组=[“artnr”、“ps”、“aan”、“des”、“subtots”、“del”];
对于(i=0;i<6;i++)//ligt aan numer
{
var regels=document.getElementById(rs_数组[i]);
regels.removeChild(document.getElementById(r_数组[i]+id[3]);
}
}
用这段代码,我试图删除一些输入元素

for r = 0 to a_rows-1 step 1%>
<tr id="regels">
    <td width="auto" id="nr"> 
        <input type="text" name="artid" id="artnr<%=r%>" value="<%=records(1,r)%>" size="6">
    </td>
    <td id="ps">
        <input type="text" name="ps" id="ps<%=r%>" onfocus="this.blur()" value="<%=records(2,r)%>" size="7">
    </td>
    <td id="aan">
        <input type="text" name="aan" id="aan<%=r%>" onkeyup="sub(this.id,this.value);count()"  value="<%=records(3,r)%>" size="2">
    </td>
    <td id="des">
        <input type="text" name="omschr" id="des<%=r%>" value="<%=records(4,r)%>" size="50">
    </td>
    <td id="subs">
        <input type="text" name="subtots" id="subtots<%=r%>" onfocus="this.blur()" value="<%=records(5,r)%>"  size="7">
    </td>
    <td id="del">
        <div id="del<%=r%>" onclick="dell(this.id)" style="cursor:pointer;border:1px black solid;font-size:20px">-</div>
    </td>
</tr>
<% next
对于r=0到a\u行-1步骤1%>
-

不硬编码父元素要容易得多。直接从原始图元参照获取父图元:

function dell(a) {
    var id = a.split('');
    var r_array = ["artnr", "ps", "aan", "des", "subtots", "del"];
    for (var i = 0; i < r_array.length; i++) {
        var element = document.getElementById(r_array[i] + id[3]);
        if (element) {
            element.parentNode.removeChild(element);
        }
    }
}
功能dell(a){
var id=a.分割(“”);
var r_数组=[“artnr”、“ps”、“aan”、“des”、“subtots”、“del”];
对于(var i=0;i
谢谢您的回复,我会试试。-->非常感谢你,终于得到了我想要的。谢谢最后一件事:你能解释parentNode做什么吗?为什么它现在可以工作?@siroj没问题:)好吧,
parentNode
得到它的直接父节点-这是一种简单的方法,无需硬编码或找出父元素是什么
removeChild
适用于儿童,因此您需要与父母和孩子一起工作,而不是与祖先和后代一起工作。这里有一些信息-