[JS] removeChild

0

siemnko, mam problem z takim kodem do usunięcia ostatniej kolumny:

<script> opid = 2; function deletab() { element = document.getElementById('wnd'+(opid-1)); while (element.hasChildNodes()) { element.removeChild(element.firstChild); } opid--; } function addtab(id) { element = document.getElementById(id); tblBody = document.createElement("tbody"); tblBody.setAttribute("id", "wnd"+opid); row = document.createElement("tr"); cell = document.createElement("td"); cellText = document.createTextNode("kolumna "+ opid); cell.appendChild(cellText); row.appendChild(cell); tblBody.appendChild(row); element.appendChild(tblBody); opid++; } </script>
kolumna 1

<input type="button" name="wybor" value="pokaz" onClick='addtab("2")'><input type="button" name="wybor" value="ukryj" onClick="deletab()">

Jednak działa tylko za pierwszym razem. Później już działać nie chce. Wie ktoś jak powinno to wyglądać poprawnie?

0

Na szybko... Może tak:

function addtab(id) {

        element = document.getElementById(id).getElementsByTagName('tbody')[0];
        row = document.createElement("tr");
        row.setAttribute("id", "wnd"+opid);
        cell = document.createElement("td");
        cellText = document.createTextNode("kolumna "+ opid);                                                
        cell.appendChild(cellText);                
        row.appendChild(cell);                
        element.appendChild(row);
        opid++;
                
}

</SCRIPT>

<table border="1" id="2"><tbody><tr><td>kolumna 1</td></tr></tbody></table>
0

To samo...

0

problem rozwiązany. Wystarczyło w funkcjii deletab dodać linijke:

element.setAttribute("id", "deleted");

Może się komuś przydać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1