Abandone o getElementById

Postado por Micox - Náiron J. C. G..

14 Novembro, 2008

"WTF mico? Are you Crazy?"

Calma malucada, não estou dizendo pra vocês voltarem ao século passado, quando referenciávamos os elementos via 'document.all' hehe. Na verdade este post é um incentivo pra vocês "apelidarem" alguns métodos e objetos, de forma facilitar a digitação de vocês.

//É que eu tava afim de fazer um título polêmico hahehahe

"Como assim?"

Estou cansado de ver códigos assim:

function juntaEnd(){
 var rua = document.getElementById('input_rua').value
 var num = document.getElementById('input_num').value
 var bairro = document.getElementById('input_bairro').value
 var cidade = document.getElementById('input_cidade').value
 var estado = document.getElementById('input_estado').value
 return rua+num+bairro+cidade+estado
}

Olha o tanto que o cara teve que digitar (ou copiar e colar). O tanto de bytes gastos com o 'document.getElementById'.

Muitos dos meus inteligentes leitores já fazem de uma forma mais 'legal':

function get(quem) { return document.getElementById(quem) }
function juntaEnd(){
 var rua = get('input_rua').value
 var num = get('input_num').value
 var bairro = get('input_bairro').value
 var cidade = get('input_cidade').value
 var estado = get('input_estado').value
 return rua+num+bairro+cidade+estado
}

Olha só, muito melhor de ler, digitar, economizar banda hehaehae. O nome da função 'get' poderia ser o que você quisesse. Eu por exemplo uso '$m'.

Existem várias outras funções mais poderosas que este 'get' simples mostrado. Pesquise, também, funções dos diversos frameworks existentes que facilitam o serviço.

Além de 'apelidar' o getElementById você pode apelidar outros objetos também de forma mais simples, caso não saiba. (Não lembro o nome real pra isso de 'apelidar' na literatura acadêmica de programação, se vocÊ souber ae me avisa nos comments hehe :P ) (O nome é 'alias' conforme foi lembrado pelo Maujor e Walter Cruz)

Exemplo:

var d = document
d.write('isto funciona, caracas!').
d.getElementById('input_nome').value = 'apelidando o document';

Um exemplo mais hard (mas pode te ajudar pois direto agente vê isto em scripts que baixa e fica boiando sem saber o que é):

(dc=document).write('o document também foi apelidado dessa maneira doida??')
dc.getElementById('input_nome').value = 'Sim!!';

Bom, é isso ae, por hoje é só! Acredito que, para os que não conheciam estes truques loucos, eu devo ter dado uma luz. Só toma cuidado pois o uso indiscriminado sem comentários pode deixar seu código ilegível e complicar sua cabeça no futuro.

Adiós povo. Não se esqueçam de participar do desafio Webly de Natal em Flash (valendo 1 pendrive 4Gb) ok?

Marcadores: ,

E-mail Newsletter Feed RSS Resultado! Concursos Shopping Resultado

Não mande dúvidas nos comentários ou no meu e-mail. Mande elas para o fórum de desenvolvedores Webly. Tem mais gente lá gabaritada a responder e você não fica dependendo só do mico.


Comenta aí! Não cai o dedo e me incentiva a escrever mais. (3 comentários)





3 Comentários:

Anonymous Alexandre de Oliveira disse... 14 Novembro, 2008 11:29  
Ótimo. Estes simples macetes a gente não tem como ver no dia-a-dia do trabalho. Com estas dicas a gente aprende coisas importantes com uma leitura bem simples.

Parabéns. Abração
Anonymous Maujor disse... 14 Novembro, 2008 12:03  
Olá Micox,
O termo apelido para designar uma entidade capaz de simplificar um método ou procedimento está muito bem empregado no seu post.
Em inglês usa-se o termo alias que significa exatamente apelido.

Esta dica que você passou aos seus leitores é muito útil e como dito e demonstrado na matéria simplifica bastante.

À propósito, convém notar que a biblioteca jQuery (e as bibliotecas em geral) são desenvolvidadas com uso deste recurso.
Blogger Micox - Náiron J. C. G. disse... 14 Novembro, 2008 13:05  
Opa, valeu o lembrete maujor.
Vou editar.

Escreva seu comentário (Leia abaixo).

Deixe seu email se quiser resposta por email também, pois o sistema de comentários do Blogger não me informa :( ... Ah, também pode deixar o endereço do seu blog ou site no comentário.
Já estou em outro sistema de blog melhor (wordpress). Se quiser comentar lá também :)
Dúvidas, só no fórum Webly.

Links para este post:

<< Ir à página principal e ver as novas postagens.

El Micox - Alguns direitos resevados - Licença Creative Commons

Veja! Este é apenas um espelho do blog real elmicox.com. Assinando aqui, na verdade você está assinando lá.