Замена элемента со всеми потрохами 
		
		
		
		Есть ли универсальный способ заменить существующий DOM элемент, вместе с самим тегом и параметрами по аналогии с replaceChild(), но без предварительного создания средствами document.createElement(), то есть новый эелемент перед заменой имеется только в виде текстовой переменной (html). 
	спасибо.  | 
	
		
 Пока только вот такое в голову пришло. 
	
function replace_element_by_html(target, html)
{
    var tmpNode = document.createElement('div');
    tmpNode.innerHTML = html;
    
    for (key in tmpNode.childNodes)
    {
        target.parentNode.insertBefore(tmpNode.childNodes[key].cloneNode(true), target);
    }
    
    target.parentNode.removeChild(target);
}
Не очень конечно с точки зрения производительности.  | 
	
		
 Попробуй так: 
	
function replace_element_by_html(ele, html){
    var newEle=ele.cloneNode(false);
    newEle.innerHTML=html;
    ele.parentNode.insertBefore(newEle, ele);
    ele.parentNode.removeChild(ele);
}
 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 переписывать не newEle, а в цикле все его содержимое. Но это все равно противоречит ТС: Цитата: 
	
  | 
	
		
 Цитата: 
	
 Всё же неважно, решение найденно. Можно также делать cloneNode родительского элемента и манипулировать с ним, но в некоторых случаях это будет накладнее по ресурсам. P.S. такой вопрос: может существует стандартная функция которая переводит html в коллекцию элементов, никто не в курсе ?  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 
function html2hodes(h){
var newEl=document.createElement('span');
newEl.innerHTML=h;
return newEl.childNodes;
}
Однако я голову уже сломал размышляя, почему нельзя использовать createElement? Что в нём такого запретного?  | 
	
		
 Цитата: 
	
 по теме можно еще DocumentFragment попробовать заюзать  | 
| Часовой пояс GMT +3, время: 04:18. |