getNodesBy NameIndexed
Publicado por Fernando Rodrigo Bilinski 18/02/2005
[ Hits: 3.734 ]
Download getNodesByNameIndexed.js
Consegue todos os elementos que possuem o 'name' que coincida com a string ou expressão regular dada.
Semelhante a função nativa getElementsByName com o diferencial de indexar os elementos da mesma forma que seriam indexados no PHP, portanto se o nome do elemento represanta um elemento de array, ele ira retornar como uma array.
function getNodesByNameIndexed( node, name ){ var re = new RegExp( name + "[\[]([0-9]+)\]([\[]([0-9]+)\])?" ); var nodes = getNodesByName( node, re ); var nodesIndexed = new Array(); var index; for( var i = 0; i < nodes.length; i++ ){ nome = nodes[i].getAttribute('name'); index = re.exec( nome ); if( typeof(index[3]) != "undefined" ){ aux = getNodesByNameIndexed( node, name + "[\[]"+ index[1] +"\]" ); }else{ aux = nodes[i]; } nodesIndexed[index[1]] = aux; } return nodesIndexed; } 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; }
Identificando o navegador do cliente
Processamento de vídeo (stream effects)
Nenhum comentário foi encontrado.
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Como criar um arquivo ISO de um sistema personalizado (3)