getNodesByName

Publicado por Fernando Rodrigo Bilinski 18/02/2005

[ Hits: 4.084 ]

Download getNodesByName.js




Esta função se assemelha a função nativa getElementsByName, com o diferencial de estar livre dos problemas que a função nativa possue e poder pesquisar além de strings também por uma expressão regular.
A única desvantagem dela é que ela gasta mais tempo que a nativa, portanto use com moderação.

  



Esconder código-fonte

function getNodesByName(node, name){
   var nodes = new Array();
   var childs = node.childNodes;

   for( var i = 0; i < childs.length; i++ ){
      if( typeof(name) == "string" ){
         if( childs[i].nodeType != "1" )
            continue;

         if( childs[i].getAttribute('name') == name ){
            nodes.push( childs[i] );
         }
      }else if( typeof( name.test ) == "function" ){
         if( childs[i].nodeType != "1" )
            continue;

         if( name.test( childs[i].getAttribute('name') ) ){
            nodes.push( childs[i] );
         }
      }
      if( childs[i].hasChildNodes() ){
         nodes = nodes.concat( getNodesByName( childs[i], name ) );
      }
   }
   return nodes;
}

Scripts recomendados

Palheta de cores utilizando Json e javascript não obstrutivo

veja seu HD

Proteção contra cópia sem alerta

Calculadora Científica

Botão para Adicionar seu Site como Home (Página Inicial)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts