Логин:

Пароль:

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

Document Object Model

removeNode() ?

> ... На самом деле, один запрос к ядру всяко ж лучше чем два. А removeNode кроме того может делать такую интересную вещь как "поднять" всех детей на уровень выше.
> ...
> document.all.ee.removeNode(false)
>
> Иногда очень полезно, да. Попробуй чиста домом сделать.

Смею заметить, что довольно таки давно занимаюсь dHTML'ем и последние полтора года - только DOM-методами и работаю. Так вот, подобное (удаление внешней ноды) мне не понадобилась НИ РАЗУ!!!

В любом случае, чтобы написать подобное только с помощью стандартных функций нужны не больше 30 секунд:

function removeOuterNode(nodeId) {
var outerNode = document.getElementById(nodeId);
outerNode.parentNode.replaceChild(nodeList2DocFragment(outerNode.childNodes), outerNode);
}

просто меняеш необходимую ноду на docFragment состоящий из ее детей.

Но, чтобы быть точным, наверное понадобиться еще одна функция (которой я пользуюсь достаточно часто, потому, что позволяет легко наполнять docFragment'ов):

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

Как видим, желаемого результата можно добиться без каких-либо проблем универсальными DOM-методами. Зачем пользоваться вещами, которые не универсальны? Скорость работы? А можеш дать URL реально работающего интерфейса, где нодов, которых (зачем-то!) нужно поднять наверх (всего на один уровень!) так много, что выгрыш в использовании removeNode() больше полусекунды? ;-)
СообщениеАвторДата
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