Показать сообщение отдельно
  #25 (permalink)  
Старый 19.08.2012, 21:17
Интересующийся
Отправить личное сообщение для Elve Посмотреть профиль Найти все сообщения от Elve
 
Регистрация: 11.06.2012
Сообщений: 25

Спасибо за помощь
Сбасибо Aetae и cyber за то, что помогли новичку разобраться в работе с DOM деревом. Итак теперь код, который работает для тех, кто возможно столкнется с подобной задачей
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
 
<body>
<div id="content-wrap">
<!--text1-->
<div>1</div>
<div>2</div>
<!--text 2 -->
<div>3</div>
 
</div>
<script> 
       function prev( el ){
  		while(el=el.previousSibling) if(el.nodeType === 1) break;
  		return el
	}
        var wrapper_ = document.getElementById('content-wrap');
	var elem =  wrapper_.children[2];
	var divs = wrapper_.getElementsByTagName('div');
 
	
	alert('до обработки ='+wrapper_.childNodes.length+" после="+remove_TextNode(wrapper_.childNodes).length);
	console.log(wrapper_.childNodes);
	wrapper_n = remove_TextNode(wrapper_.childNodes);

    
    function remove_TextNode (array) {
    
      var leng = array.length;
      var elemArray, resultArray = [];
      
      for (var i = 0; i < leng;i++) {
      
       elemArray = array[i];
     
        if (elemArray.nodeType != 1) continue;
        
        
        resultArray.push(elemArray);
      }
    
     return resultArray;
    }
	after_main =  wrapper_n[2]
	wrapper_.insertBefore(elem, wrapper_n[1] || null);
</script>
</body>
</html>
И П.С. К этому счастью: function prev( el ) - функция замена previousSibiling для работы кроссбраузерно
function remove_TextNode (array) - для работы с массивом вложенных элементов в том случае, если в коде есть комментарии ( Коменты ИЕ видит как отдельный элемент и поэтому работа под ИЕ и под другими браузерами будет сильно отличаться.)
children в ие ниже 9 версии вроде работает( лично у меня работает в 7 и 8 версии)
Ответить с цитированием