[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как удалить строку из таблицы?
jon378
Подскажите, пожалуйста, что я делаю неправильно.


<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"! Я знать о нем не знал. Второй вариант работает без проблем, большое спасибо за помощь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.