gpt4 book ai didi

javascript - 删除动态创建的行 : removechild

转载 作者:行者123 更新时间:2023-11-30 08:52:01 25 4
gpt4 key购买 nike

HTML:

<body style='background-color: white;'>

<div>
<div id='dependent'>
<input type="button" value="Add" id='abtn' onclick='addfunction()' />
<input type="button" value="Delete" id='dbtn' onclick='deletefunction(this)' />
<input type="button" value="Total No. of rows" id='Button2' onclick='total()'/> <br />

</div>
<div>
<input type="button" value="Submit" id='subid' onclick='smt()' /></div>
</div>

Javascript:

 <script type="text/javascript">




function addfunction() {

rcount++;
t++;

tr1 = document.createElement('tr');
tr1.id = "t" + t;

tx1 = document.createElement('p');
text1 = document.createTextNode(t);
tx1.appendChild(text1);

td1 = document.createElement('td');
td1.id = "da" + t;

c1 = document.createElement('input');
c1.type = "checkbox";
c1.id = "a" + t;

td2 = document.createElement('td');
td2.id = "db" + t;
c2 = document.createElement('input');
c2.type = "checkbox";
c2.id = "b" + t;

td3 = document.createElement('td');
td3.id = "dc" + t;
c3 = document.createElement('input');
c3.type = "checkbox";
c3.id = "c" + t;


dl1 = document.createElement('input');
dl1.type = "button";
dl1.id = "dl" + t;
dl1.onclick = deletefunction; //Delete button for each row

br1 = document.createElement('br');

document.getElementById("dependent").appendChild(tr1);
document.getElementById(tr1.id).appendChild(tx1);
document.getElementById(tr1.id).appendChild(td1);
document.getElementById(td1.id).appendChild(c1);
document.getElementById(tr1.id).appendChild(td2);
document.getElementById(td2.id).appendChild(c2);
document.getElementById(tr1.id).appendChild(td3);
document.getElementById(td3.id).appendChild(c3);
document.getElementById(tr1.id).appendChild(dl1);
document.getElementById(tr1.id).appendChild(br1);



//Delete Function
function deletefunction() {
alert('tr' + rcount);
document.getElementById('tr' + rcount).removeNode(true);

}




</script>
</body>
</html>

如何使用 javascript 删除动态创建的行(或“tr”)?

我尝试了两种删除方式,

  1. 单独的删除按钮将删除最后一行。
  2. 每行上的删除按钮,用于删除该特定行。

我尝试了各种方法但都没有用,我得到的错误是 “无法获取属性‘removeNode’的值:对象为 null 或未定义”。

最佳答案

尝试这样的事情:

var row = document.getElementById('tr' + rcount);
row.parentElement.removeChild(row);

看起来您没有正确形成 trid。您已经像这样创建了它:

tr1.id = "t" + t;

然后尝试阅读:

document.getElementById('tr' + rcount)

此外,rcount 似乎不是您所期望的。它是一个全局变量,与上次执行 addfunction() 时具有相同的值。

关于javascript - 删除动态创建的行 : removechild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17038542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com