23 Май 2008

HTML DOM, JavaScript для добавления/удаления рядов таблицы (часть 2)

posted in JavaScirpt |

Я обещал рассказать как улучшить функцию удаления ряда таблицы, этим сегодня и займемся. Итак мы уже знаем, что у браузеров есть отличия в построении DOM дерева. Мы увидели, что Firefox и Safari создают дополнительный текстовый узел "\n" для каждого переноса строки в документе, есть два пути решения проблемы: 1й - удалять такие узлы, 2й - просто их пропускать.

1. Удаление "\n"

JAVASCRIPT:
  1. function DelLastRow(tid) {
  2. var myTbl=document.getElementById(tid);
  3. var deltr=myTbl.lastChild;
  4. while (deltr.nodeType==3)
  5.    { myTbl.removeChild(deltr);
  6.      deltr=myTbl.lastChild; }
  7. myTbl.removeChild(deltr);
  8. }

2. Пропуск "\n"

JAVASCRIPT:
  1. function DelLastRow(tid) {
  2. var myTbl=document.getElementById(tid);
  3. var deltr=myTbl.lastChild;
  4. while (deltr.nodeType==3)
  5.    { deltr=deltr.previousSibling; }
  6. myTbl.removeChild(deltr);
  7. }

В последней функции мы использовали previousSibling - это ссылка на предыдущий соседний узел, также можно использовать nextSibling, чтоб перейти на следующий узел-сосед. В приницпе в функции, которая печатала DOM дерево, мі могли испозовать другой цикл: 'while' вместо of 'for':

JAVASCRIPT:
  1. while (cur) {
  2. ...
  3. cur=cur.nextSibling;
  4. }

Оставить комментарий

phun скачать ХТМЛ справочник

268

Почему в университете всё время дрючат математикой. Энциклопедия маркетинга такие замечательные Сейшелы плодородны