Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.12.2014, 06:37
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Зачем replaceChild() возвращает old child или как это делают
Имеется интерфейс фильтра по любому одному полю формы такого в общем хтмля: в div - родителе - список, поле ввода, кнопка. Поле ввода копируется из формы, то есть клонируется. Оно уже все готовое - со всем барахлом, например это может быть еще список, или дата, или там цвет и тп. Все работает, но вопрос в черезжопенном методе replaceChild(); Зачленом он возвращает старую ноду? Сейчас так (кусок)

var filter_list=document.getElementById("_filter"),
	parent=document.querySelector(".filter"),
	filter_value=document.getElementById("_filter_value"),
	old_child=filter_value;

filter_list.addEventListener("change",function(e){
	var field=document.getElementsByName(this.value)[0];
	if(!field || field.type=="file") {
		parent.replaceChild(filter_value,old_child);
		old_child=filter_value;
		return;
	}
	var new_child=field.cloneNode(true);
	new_child.removeAttribute("name");
	new_child.removeAttribute("onchange");
	parent.replaceChild(new_child,old_child);
	old_child=new_child;
});


А могло быть так:

var filter_list=document.getElementById("_filter"),
	parent=document.querySelector(".filter"),
	filter_value=document.getElementById("_filter_value"),
	child=filter_value;

filter_list.addEventListener("change",function(e){
	var field=document.getElementsByName(this.value)[0];
	if(!field || field.type=="file")
		return child=parent.replaceChild(filter_value,child);
	child=parent.replaceChild(field.cloneNode(true),child);
	child.removeAttribute("name");
	child.removeAttribute("onchange");
});


если бы бабушка была дедушкой, то есть replaceChild() возвращал бы результат замены, а не х знает что.

Или как такое сделать нечерезжопенно?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 12:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как узнать, присутствует ли в окне полоса прокрутки или нет? возжаждавший Элементы интерфейса 6 12.03.2010 23:00
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39