保持附加关闭按钮 - DOM

时间:2014-08-08 13:26:45

标签: javascript html dom

我试图将按钮附加在表的末尾。

只要我没有点击上一个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)
    }
}

2 个答案:

答案 0 :(得分:3)

您可以使用以下CSS隐藏它并仅显示最后一行按钮,而不是删除按钮:

tr:last-child button{
 display:inline !important;
}

在JS中,更改以下内容

this.remove(this);

this.style.display='none';

您也可以避免不必要的DOM操作。

如果只有一行,它也将是最后一个孩子

Demo

答案 1 :(得分:1)

在删除按钮上反转函数调用的顺序:

http://jsfiddle.net/isherwood/1n4f3sno/3/

onclick=\" this.parentNode.parentNode.remove(this); del();\"

您在删除旧的最后一行之前计算新的最后一行。如果你只剩下一行,那仍然是一个问题,但我相信你可以解决这个问题。

此外,如果您始终对JS使用单引号(撇号)和为HTML使用双引号,则可以省去所有这些转义字符。