Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   удаление элемента dom (https://javascript.ru/forum/events/22690-udalenie-ehlementa-dom.html)

Catherine 28.10.2011 23:35

удаление элемента 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;
  }
}
это функция удаления и моя попытка переместить которая не сработала


Часовой пояс GMT +3, время: 05:37.