Логин:

Пароль:

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

Document Object Model

Вопрос здесь

> Самый простой способ поменять innerHTML. Но тогда неизменным останется ID, стили etc...
> Я так понимаю надо использовать replaceNode, но где тогда временно хранить затираемую Node?

Буквально Вчера Я Написал Сортировку Строк В Таблице, Где Надо Было Менять Две Строки Местами. Выглядит Это Так:

function ExchangeRows(Row1,Row2){
var TBody=Row1.parentNode;
var NewRow1=Row1.cloneNode(true);
var NewRow2=Row2.cloneNode(true);
with(TBody){
replaceChild(NewRow2,Row1);
replaceChild(NewRow1,Row2);
}//with
}//ExchangeRows

Собственно, Все То Же Самое Без Малейшего Изменения (Ну, Разве Что Переназвать Переменные) Пойдет Для Любых Узлов, Принадлежащих Одному Родителю. Если Родители Разные, То Вместо With'а Будет Так:

Parent1.replaceChild(NewRow2,Row1);
Parent2.replaceChild(NewRow1,Row2);

P.S. Это Соврешенно Корректно Работает В IE5,6, А Также В Mozilla Новее Где-То 25 Марта. В Более Старых Версиях Mozill'ы cloneNode Не Копировал Обработчиков Событий, Назначенных Объектам В HTML-Теге. Так Что, Если Таковых Нет, То Эту Функцию Можно Использовать И Для Netscape 6. Если Же Обработчики Есть, Можно Дописать Их Копирование Вручную После cloneNode. Но Это Уже - Конкретное Извращение.
СообщениеАвторДата
slash26.03.2002 19:19
111106.05.2002 09:44
24.10.2006 19:06
+05.09.2006 00:54
slash26.03.2002 19:22
Maniac27.03.2002 00:05
Leechy27.03.2002 01:42
slash27.03.2002 19:41
Maniac27.03.2002 12:18
12.03.2007 08:27
Maniac27.03.2002 12:05
Leechy27.03.2002 20:02
slash03.04.2002 17:52