getNodesBy NameIndexed
Publicado por Fernando Rodrigo Bilinski 18/02/2005
[ Hits: 3.831 ]
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; }
Nenhum coment�rio foi encontrado.
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Realizar overclock no Miyoo Mini (plus ou normal)
Otimização de memória para máquinas modestas
Dúvidas sobre a originalidade de conteúdos online (9)
Monitoramento pfsense com zabbix (3)
Google Crhome não abre desde que eu atualizei pelo "program... (13)
como instalar o amdgpu no linux manjaro no linux, pelo o repo e comand... (4)