getNodesBy NameIndexed
Publicado por Fernando Rodrigo Bilinski 18/02/2005
[ Hits: 3.494 ]
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; }
Script para envio de varias menssagens
Script que faz o Navegador Tremer
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Impressora Canon Ip 1800 (Drivers) 64 bit (1)
Erro ao converter string para inteiro (6)
Diferença entre formas de instalar o Samba [RESOLVIDO] (4)
Dongle Bluetooth 5.0 não funciona no Pop Os 22.04 (0)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (24)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba