Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Document Object Model

removeNode() ?

> ...
> function nodeList2DocFragment(nList) {
> .var newDocFragment = document.createDocumentFragment();
> .for (var i in nList) newDocFragment.appendChild(nList.item(i));
> .return newDocFragment;
> }

Сорри, опять скопировал из первой, глючной версии :-(
Тут дело в том, что nList - объект с двумя свойствами - функция item() и length. Следовательно - не годиться для того, чтобы пробежаться по всеми элементами. for (i=0;i<?.length;i++) тоже не годиться - при appendChild элементы перемещаются, а не копируются (виртуально - тот-же документ). Поэтому следует писать такой цикл:

while (nList.length) newDocFragment.appendChild(nList.item(0));


> В Mozile ... работает так: пропадает третья нода куда-то. И бордер капут.
>
> Не, они стараются, кто спорит. Но я бы на их месте не торопился бы 1.0 выпускать...

Ошибка не в Mozilla и не в DOM - моя ошибка, за что и прошу прощения.

(заодно стер всех старых и глючных версий ;-)
СообщениеАвторДата
wer2512.10.2002 12:40
гоша12.10.2002 18:11
Maniac12.10.2002 22:53
Gilmour13.10.2002 00:53
гоша13.10.2002 13:46
Maniac13.10.2002 17:19
гоша13.10.2002 21:29
Maniac13.10.2002 23:41
гоша14.10.2002 17:53
Leechy14.10.2002 19:18
гоша14.10.2002 20:13
Leechy14.10.2002 21:03
гоша16.10.2002 13:49
Leechy16.10.2002 15:21
Maniac12.10.2002 17:37
wer2514.10.2002 08:25
Maniac14.10.2002 12:44
wer2514.10.2002 13:35
Leechy14.10.2002 13:47
wer2514.10.2002 13:54
Leechy14.10.2002 14:10
wer2514.10.2002 15:18
Leechy14.10.2002 19:23
wer2515.10.2002 08:45
гоша14.10.2002 13:41
wer2514.10.2002 13:27
Leechy14.10.2002 13:40