getNodesByName

Publicado por Fernando Rodrigo Bilinski 18/02/2005

[ Hits: 3.995 ]

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

Músicas kboing

Quebra de página

Calculadora Javascript

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

e-mule


  

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