freeDOM e o método replaceChild

O método replaceChild tem a função de substituir um elemento por outro. Ou seja, você irá remover um elemento da página e esse elemento dará lugar a um outro.

A função da freeDOM referente a esse método é a $replace. Observe como seria o processo de remover um elemento e ao mesmo tempo criar um outro elemento a fim de dispor o lugar do elemento removido.

$replace($new('h1','que legal isto'),$('titulo_velho'));

No exemplo acima, estamos criando uma tag h1 que terá em seu conteúdo a frase: “que legal isto”. E essa tag h1 será inserida no lugar de um elemento cujo ID é igual a titulo_velho.

Gostou? Eu também :)

Mais sobre o método replaceChild no Mozilla Developer Center.

freeDOM e o método insertAfter

O título mais correto para este post, seria: freeDOM e o “método” insertAfter. Uma vez que o insertAfter não é um método do DOM, ele na realidade nem existe.

Mas, o DOM possui um recurso chamado nextSibling ou “próximo irmão” que nos permite simular tal método.

Enquanto o método insertBefore é utilizado para inserir um elemento anteriormente a um outro elemento. O “método” insertAfter é utilizado para inserirmos posteriormente.

A função da freeDOM referente ao insertAfter é a $after. E você a utiliza da seguinte maneira:

$after($new('div','conteúdo da tag div'),$('topo'));

Isto é, inserimos uma div depois do elemento cujo ID é igual a topo. Somente.

freeDOM e o método insertBefore

O método insertBefore ou “inserir antes” é utilizado quando desejamos inserir um elemento em uma página antes de um outro elemento.

Utilizá-lo através da freeDOM é muito simples e prático. Observe:

$before($new('div','conteúdo da tag div'),$('topo'));

Ou seja, inserimos uma div antes do elemento cujo ID é igual a topo.

Repare que utilizamos a função $new da freeDOM para criar a tag div que será inserida antes do elemento informado no segundo parâmetro.

Simples, simples.

Veja mais informações sobre o método insertBefore no Mozilla Developer Center e compare o exemplo deles com este que lhes apresentei e me responda: é simples, prático e fácil utilizar a função $before da freeDOM?

freeDOM e o método createElement

O método createElement tem o seu nome bem condicente com sua funcionalidade, ou seja, criar um elemento.

Esse método é utilizado em conjunto com outros métodos como o appendChild e o insertBefore (falaremos sobre eles ainda, fique tranqüilo).

Através da freeDOM é muito simples trabalhar com o método createElement. A função da freeDOM referente a esse método é a $new(). Essa função possui três parâmetros, sendo eles:

  • strTagName = o nome da tag que será criada.
  • strParams = os atributos que serão adicionados referente à tag.
  • strConteudo = O conteúdo concernente à tag.

Observe como criaríamos uma tag div com um parâmetro e algum conteúdo.

$new('div','id=global','algum texto para o conteúdo');

Mas, vamos conhecê-la mais a fundo, afim de lhe mostrar o poder da freeDOM. Suponhamos que você deseja criar vários atributos para uma tag. Você faz isso simplesmente da seguinte maneira:

$new('a',["title=Oi, sou um link.","href=http://leandro.w3invent.com.br"],'texto do link')

Simples não é? Agora se a tag a ser criada não precisar de nenhum atributo, você procede assim:

$new('div','algum texto para o conteúdo');

Ou seja, embora o segundo parâmetro da função $new() seja referente aos atributos, a freeDOM o considera como o conteúdo da tag caso o terceiro parâmetro não seja informado.

w3AlertBox – Solução para customizar o Alert Box do JavaScript

Acredito que você sempre sentiu a necessidade de customizar o Alert Box do Javscript. E sentiu-se frustrado por não ser possível e ter percebido que aquela janelinha não poderia se enquadrar à identidade visual do seu site.

Mas agora seus problemas acabaram (meio tabajara essa frase né, rs…), criei o w3AlertBox que é uma solução para customizar o Alert Box do JavaScript, deixando-o como você julgar necessário :)

Você poderá alterar o título da janela do Alert Box, inserir códigos HTML na mensagem, tudo de forma muito simples e prática. E o melhor de tudo que você gastará apenas 1 (eu disse uma) linha de código para isso.

Um exemplo:

w3AlertBox.show('mensagem aqui','título aqui');

Para usar códigos HTML, faça o seguinte:

w3AlertBox.show(varQueContemOsCodigos,'título aqui',true);

Informando o terceiro parâmetro como true, você indica que usará códigos HTML.

Para baixar o w3AlertBox e saber mais detalhes a respeito, acesse: w3AlertBox – Solução para customizar o Alert Box do JavaScript.

freeDOM e o método getElementsByTagName

No post anterior, falamos sobre os benefícios em se trabalhar com o método getElementById através da freeDOM. Neste post, falaremos sobre seu “irmão”, o método getElementsByTagName.

Qual a utilidade do getElementsByTagName?

O método getElementsByTagName retorna uma lista de elementos cujo a tag desses elementos é igual a informada no parâmetro do método.

Observe a sintaxe e uma forma de uso do método getElementsByTagName.

var tagLinks = document.getElementsByTagName('a');
for ( var i = 0, foo; foo = tagLinks[i]; i++ ) {
	alert(foo.innerHTML);
}

Agora, compare a utilização do mesmo método através da freeDOM:

var tagLinks = $tags('a');
for ( var i = 0, foo; foo = tagLinks[i]; i++ ) {
	alert(foo.innerHTML);
}

Ainda acha que é pouco? Tudo bem. Imagine que você precisa que seja retornado apenas as tags a que estão dentro de um objeto cujo ID desse objeto seja igual a menu. Com a freeDOM, é só fazer assim:

var tagLinks = $tags('a',$('menu'));
for ( var i = 0, foo; foo = tagLinks[i]; i++ ) {
	alert(foo.innerHTML);
}

Pronto :)

Referência sobre o método getElementsByTagName

freeDOM e o método getElementById

A freeDOM lhe possibilita trabalhar com o método getElementById como nunca visto antes. A função da freeDOM referente a esse método é a $(). A qual iremos conhecê-la neste post.

Qual a utilidade do método getElementById?

O método getElementById retorna um elemento cujo ID é igual ao informado no parâmetro desse método.

Sua sintaxe é a seguinte:

obj = document.getElementById('id_do_objeto');

Utilizando a freeDOM, você fará apenas o seguinte:

obj = $('id_do_objeto');

Ou seja, você codificou muito menos e obteve o mesmo resultado. Mas, a freeDOM é mais poderosa ainda e não faz apenas isso. Imagine que você precisa selecionar vários elementos através do ID de cada um deles. Você fará o seguinte:

objs = $(["id_1","id_2","id_3","..."]);

Mas se preferir, poderá utilizar assim também:

objs = $("id_1","id_2","id_3","...");

Use o que lhe for mais conveniente que a freeDOM fica encarregada de compreender sua necessidade.

Referência sobre o método getElementById:

Utilizando a freeDOM, você codifica menos e vive mais.

Se você ainda não conhece a freeDOM, já é hora de conhecê-la. Irei fazer uma série de posts abordando essa fantástica biblioteca de JavaScript e DOM. Assim, você irá familiarizar-se melhor com ela.

Inicialmente, falarei sobre as principais funções com relação ao DOM que essa biblioteca oferece. Durante cada post, você perceberá como é simples, fácil e prático trabalhar com o DOM através da freeDOM.

A intenção é codificar cada vez menos e viver cada vez mais :)

Abaixo, segue a relação das principais funções da freeDOM.

A media que eu for escrevendo os posts sobre cada uma dessas funções, voltarei a este para atualizá-lo com seus respectivos links.

Você conhece a freeDOM?

Se você conheceu a mtzlib, estará familiarizado com a freeDOM. Uma vez que ela (mtzlib) mudou o seu nome para freeDOM.

freeDOM.js

O que é?

É um projeto iniciado para desenvolver uma biblioteca de funções JavaScript simples e poderosa, para ajudar o desenvolvimento e aumentar a produtividade de websites e aplicativos web.

Porque freeDOM?

freeDOM é um joguinho de palavras que representa exatamente nossa coleção de funções: free(gratuito) + DOM(Document Object Model). Ao mesmo tempo expressa nossa intenção de dar liberdade ao desenvolvedor, utilizando as funções e parâmetros do jeito que melhor lhe convém.

Funcionalidades

O desenvolvimento da freeDOM ainda está em fase inicial, porém já dá suporte as principais funcionalidades do DOM e inclui um add-on que transforma aplicações ajax em uma tarefa extremamente simples.

Como colaborar?

Atualmente o projeto é atualmente mantido apenas por Andre Metzen (andre[at]metzen.com.br) e Leandro Vieira (leandro[at]w3invent.com.br). Se você tem interesse em colaborar de qualquer forma, é só nos enviar um e-mail.

Download

Acessa a página do freeDOM.js