<table id="tbl">
<tr><td>row1</td></tr>
<tr><td>row2</td></tr>
</table>
document.getElementById(tbl).removeChild(document.getElementById(tbl).lastChild);
Я собственно хочу удалить последнюю строку, а удаляются все (обе). Пробовал и такой вариант:
document.getElementById(tbl).removeChild(document.getElementById(tbl).[b]tbody[/b].lastChild);
так вообще ничего не происходит.
Спустя 7 минут, 3 секунды (9.12.2011 - 22:19) jon378 написал(а):
Я прошу прощения, что не в том разделе написал, сразу не увидел нужный.
Спустя 17 минут, 38 секунд (9.12.2011 - 22:37) redreem написал(а):
<tbody> создаётся автоматически, даже если ты его не писал, учитывай это и должно заработать
Спустя 11 минут, 3 секунды (9.12.2011 - 22:48) jon378 написал(а):
Так я учитывал, вот же:
Но так вообще ничего не удаляется. Или я неправильно понял?
document.getElementById(tbl).removeChild(document.getElementById(tbl).tbody.lastChild);
Но так вообще ничего не удаляется. Или я неправильно понял?
Спустя 13 минут, 13 секунд (9.12.2011 - 23:01) redreem написал(а):
вот эти строки кода, они прям так у тебя и идут в скриптах?
если да, то немудрено что ничего не работает. Вообще вот так попробуй:
если не сработает, то можно каждую переменну проверить - тот ли объект в ней.
document.getElementById(tbl).removeChild(document.getElementById(tbl).[b]tbody[/b].lastChild);
если да, то немудрено что ничего не работает. Вообще вот так попробуй:
var tableEl = document.getElementById('tbl');
var tbodyEl = tableEl.getElementsByTagName('tbody')[0];
var tbodyLastEl = tbodyEl.lastChild;
tbodyEl.removeChild(tbodyLastEl);
если не сработает, то можно каждую переменну проверить - тот ли объект в ней.
Спустя 12 минут, 28 секунд (9.12.2011 - 23:13) jon378 написал(а):
Заработало. Но удаляется только после второго вызова функции.
Спустя 16 минут, 8 секунд (9.12.2011 - 23:30) redreem написал(а):
так посмотри DOM в отладчике браузера - увидишь что там затесалось лишнего
Спустя 3 минуты, 28 секунд (9.12.2011 - 23:33) redreem написал(а):
можно кстати вот так еще попробовать:
var tableEl = document.getElementById('tbl');
var tbodyEl = tableEl.getElementsByTagName('tbody')[0];
var trEls = tbodyEl.getElementsByTagName('tr');
var tbodyLastTrEl = trEls[trEls.length-1];
tbodyEl.removeChild(tbodyLastTrEl);
Спустя 15 минут, 5 секунд (9.12.2011 - 23:48) jon378 написал(а):
Цитата (redreem @ 9.12.2011 - 20:30) |
так посмотри DOM в отладчике браузера - увидишь что там затесалось лишнего |
=) Ты не представляешь, в каком я сейчас был восторге, когда нагуглил "Opera Dragonfly"! Я знать о нем не знал. Второй вариант работает без проблем, большое спасибо за помощь.