Javascript 从表中删除一行(HTML/JS)

Javascript 从表中删除一行(HTML/JS),javascript,html,Javascript,Html,标题是相当不言自明的;我试图向表的每一行添加一个delete按钮,但现在它正在删除表头而不是实际的行。这是Javascript;有什么建议吗 函数addRow(){ var table=document.getElementById(“TodayStasks”); var行=document.createElement('tr'); row.id=“新添加”; var td0=document.createElement(“输入”); td0.type=“复选框”; td0.id=“复选框”;

标题是相当不言自明的;我试图向表的每一行添加一个delete按钮,但现在它正在删除表头而不是实际的行。这是Javascript;有什么建议吗

函数addRow(){
var table=document.getElementById(“TodayStasks”);
var行=document.createElement('tr');
row.id=“新添加”;
var td0=document.createElement(“输入”);
td0.type=“复选框”;
td0.id=“复选框”;
td0.onchange=updateItem;
var td1=document.createElement('td');
var td2=document.createElement('td');
var td3=document.createElement(“输入”);
td3.type=“按钮”;
td3.value=“删除”;
td3.onclick=deleteFn;
if(document.getElementById('task')。值=“”){
提醒(“请提供任务”);
}else if(document.getElementById('duration')。值=“”){
警告(“请提供持续时间”);
}否则{
td1.innerHTML=document.getElementById('task').value;
td2.innerHTML=document.getElementById('duration')。值;
行。追加子项(td0);
第3行。追加子项(td1);
第3行。追加子项(td2);
第3行:追加子项(td3);
table.children[0].insertBefore(行,table.children[0].childNodes[1]);
}
函数updateItem()//选中时划掉
{
if(document.getElementById(“复选框”).checked){
document.getElementById(“新添加”).style.textDecoration=“行通过”
}否则{
document.getElementById(“新添加”).style.textDecoration=“无”
}
}
函数deleteFn(x){
var i=x.rowIndex;
document.getElementById(“TodayStasks”).deleteRow(i);
}

您的delete函数将事件作为参数,该事件通过其属性目标持有对元素的引用。您可以获得作为输入的父元素的tr(如果将输入包装在td中,它将是父元素),然后您可以从表中删除此元素

  function deleteFn(event) {
    var input = event.target;
    var currentRow = input.parentNode;
    document.getElementById("todayTasks").removeChild(currentRow);
  }

不能将
输入
附加到
tr
中。必须将其放入
td
中,并将其附加到
tr
中。
deleteFn
的参数是
事件
对象。它没有
行索引
属性。元素id应该是唯一的。不能使用相同的
row.id=“new\u add”
td0.id=“checkbox”
每一行。谢谢!这就是我尝试的[html]:var td3=document.createElement('td');td3.type=“input”;td3.type=“button”;td3.value=“Delete”;td3.onclick=deleteFn;但它仍然不起作用;有什么提示吗?很抱歉,格式不好;我不知道如何输入代码。但是,是的,我尝试在td中包装删除按钮并添加onclick事件。