Показать сообщение отдельно
  #7 (permalink)  
Старый 11.08.2010, 09:17
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

потому что строка, состоящая из пробелов - это true
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
  <title></title> 
</head> 
<body> 
<div>     </div>   <p>        </p>     <p>        </p>   123 
  
  
  
  
<script language="JavaScript" type="text/javascript"> 
alert( document.getElementsByTagName('div')[0].nextSibling ); // object text 
function normalize(element) { 
    var children = element.childNodes;
    var textNodes = [];
    for( var i=0, n=children.length; i<n; i++ ){
        var child = children[i];
        if( isEmptyTextNode(child) )
            textNodes.push( child );
        else if( child.hasChildNodes() )
            normalize(child);
    }
    for( var i=0, n=textNodes.length; i<n; i++ ){
        var textNode = textNodes[i];
        textNode.parentNode.removeChild( textNode );
    }

    function isEmptyTextNode( node ){
        return node.nodeType == 3 &&
            ! node.nodeValue.replace(/\s+/, '');
    }
} 
  
normalize(document.body); 
alert( document.getElementsByTagName('div')[0].nextSibling ); /// object text 
</script> 
  
  
  
  
  
</body> 
</html>


Octane, зачем цикл в функцию заворачивать?

Последний раз редактировалось x-yuri, 11.08.2010 в 09:26.
Ответить с цитированием