Показать сообщение отдельно
  #1 (permalink)  
Старый 28.10.2011, 23:35
Новичок на форуме
Отправить личное сообщение для Catherine Посмотреть профиль Найти все сообщения от Catherine
 
Регистрация: 28.10.2011
Сообщений: 1

удаление элемента dom
Проблема в том, что при удалении элемента input типа file методом removeElement(), элементы которые находились под ним сдвигаются вверх на очень малое расстояние, а мне нужно поднять всех на расстояние соответствующее удаленному элементу. Элементы создаются динамически. Помогите решить проблему.
function f_del(i){
  document.getElementById("forma").removeChild(document.getElementById("f" + i));
  document.getElementById("forma").removeChild(document.getElementById("add" + i));
  document.getElementById("forma").removeChild(document.getElementById("del" + i));
  document.getElementById("forma").removeChild(document.getElementById("n" + i));
  p = parseInt(i)+1;
  while (document.getElementById("f" + p.toString())) {
     document.getElementById("f" + p).id = 'f'+ (parseInt(p)-1).toString();
	alert(document.getElementById("f" + (parseInt(p)-1).toString()).id);
	//document.getElementById("f" + (parseInt(p)-1).toString()).style.top= '-10px';
	document.getElementById("add" + p).id = 'add'+ (parseInt(p)-1).toString();
	document.getElementById("del" + p).id = 'del'+ (parseInt(p)-1).toString();
	document.getElementById("n" + p).id = 'n'+ (parseInt(p)-1).toString();

    el = document.getElementById('f'+(parseInt(p)-1).toString());
	top = el.style.top;
	top = parseInt(top); 
	el.style.top = (top+100).toString()+'px'; 

	if(IE) {
		document.getElementById("add" + (parseInt(p)-1).toString()).setAttribute('onclick', function(){
																							  f_add((parseInt(p)-1).toString() );
																							});
    } else {
	    document.getElementById("add" + (parseInt(p)-1).toString()).setAttribute('onclick', 'f_add("'+ (parseInt(p)-1).toString() +'")'); 
	  }
	if(IE) {
		document.getElementById("del" + (parseInt(p)-1).toString()).setAttribute('onclick', function(){
																							  f_del((parseInt(p)-1).toString() );
																							 });
	} else {
		document.getElementById("del" + (parseInt(p)-1).toString()).setAttribute('onclick', 'f_del("'+ (parseInt(p)-1).toString() +'")'); 
	  }
	//document.getElementById("del" + p).value ="document.getElementById('add'+i).getAttribute('onclick') + ' ' +  i" ;
	p = parseInt(p) + 1;
  }
}
это функция удаления и моя попытка переместить которая не сработала
Ответить с цитированием