quinta-feira, 27 de janeiro de 2011
quinta-feira, 13 de janeiro de 2011
Função eval() - Variáveis Variáveis em Javascript
Postado por
Luiz Falcão
às
20:17
Já deve ser a terceira vez que eu preciso fazer uma variável variável em Javascript e que eu perco MUITO tempo em sites de buscas tentando relembrar como faz. Por isso, vou postar a solução aqui, quem sabe ajuda mais alguém além de mim mesmo!
Geralmente eu uso variáveis variáveis dentro de um loop for, como que para "linkar" dois loops... enfim... vamos ao exemplo:
Geralmente eu uso variáveis variáveis dentro de um loop for, como que para "linkar" dois loops... enfim... vamos ao exemplo:
function bloCollapse(){
- //identificar a raiz do hotsite que o sujeito está...
- //independente da terminação da página....
- //(limpar as bugigangas em outras palavras
- var barra = document.URL.lastIndexOf('/');
- var urlHsHome = document.URL.substr(0,barra);
- //array de elementos com a TAG Span
- itemCollapse = document.getElementById('blocollapse').getElementsByTagName('span');
- //loop for
- for(i=0;i<itemCollapse.length;i++) {
- //uso do loop, convencional (exceto pelo innerHTML, talvez)
- itemCollapse[i].innerHTML = "<a href='"+urlHsHome+"/venhatreinar#"+itemCollapse[i].parentNode.getElementsByTagName('h3')[0].innerHTML+">+info</a>";
- // aqui o grande truque!!!!
- // o eval deve pegar a linha toda, em ASPAS
- // fora das aspas, apenas o índice da variável variável!
- // destacado em cores para ficar bem claro
- eval("teste"+i +" = itemCollapse[i].parentNode.getElementsByTagName('h3')[0].innerHTML;")
- // assim você gera uma série de variáveis do tipo teste0, teste1, teste2... e o resto é resto
- alert(eval('teste' + i));
- }
- }
- bloCollapse();
(uff... o blogger é péssimo para isso)
Na verdade, eu sou um leigo completo em Javascript, talvez eu esteja chamando isso de variável variável injustamente.... neste caso, assim que eu esclarecer a confusão, venho aqui e corrijo!
A quem puder me judar, agradeço. Fica o memo.
Assinar:
Postagens (Atom)