getNodesBy NameIndexed
Publicado por Fernando Rodrigo Bilinski 18/02/2005
[ Hits: 3.933 ]
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 que faz o Navegador Tremer
Palheta de cores utilizando Json e javascript não obstrutivo
script para colocar relogio e data na pagina
Mostra o Endereço IP do visitante
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (5)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









