我试图将按钮附加在表的末尾。
只要我没有点击上一个tr
的'X',目前效果很好。
这是JSFiddle
猜猜我做错了什么?
这是附加按钮的功能:
function del() {
var last_tr = document.getElementsByTagName("tbody")[0].lastChild;
if (last_tr.lastChild.children.length != 1) {
var t = document.createElement("td");
t.innerHTML = "<button onclick=\"addElements(); this.remove(this);\">+</button>";
last_tr.appendChild(t)
}
}
答案 0 :(得分:3)
您可以使用以下CSS隐藏它并仅显示最后一行按钮,而不是删除按钮:
tr:last-child button{
display:inline !important;
}
在JS中,更改以下内容
this.remove(this);
到
this.style.display='none';
您也可以避免不必要的DOM
操作。
(如果只有一行,它也将是最后一个孩子)
答案 1 :(得分:1)
在删除按钮上反转函数调用的顺序:
http://jsfiddle.net/isherwood/1n4f3sno/3/
onclick=\" this.parentNode.parentNode.remove(this); del();\"
您在删除旧的最后一行之前计算新的最后一行。如果你只剩下一行,那仍然是一个问题,但我相信你可以解决这个问题。
此外,如果您始终对JS使用单引号(撇号)和为HTML使用双引号,则可以省去所有这些转义字符。