getNodesBy NameIndexed
Publicado por Fernando Rodrigo Bilinski 18/02/2005
[ Hits: 3.865 ]
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; }
Plugin para ordenar, paginar e pesquisar em tabelas HTML
Mostra o Endereço IP do visitante
Nenhum comentário foi encontrado.
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Warcraft II Reforged no Linux? (0)
Erro ao fazer remaster usando Penguin eggs (0)
queria saber como instalar o android power tools igual ao winux no lin... (7)