tadarank afiliados

14 novembro, 2008

Abandone o getElementById

"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?

Gostou da dica acima? Então clica nos botões de compartilhamento abaixo e me ajude a dica a subir no Google.

3 comentários:

  1. Ó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

    ResponderExcluir
  2. 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.

    ResponderExcluir

Resultado! Concursos