existe uma contrapartida equivalente no MooTools. Se voce olhar as coisas que o MooTools consegue fazer, geralmente nao existe forma de realizar usando jQuery porque seu codigo e voltado apenas ao DOM. MooTools oferece uma gigantesca funcionalidade a mais que o jQuery, mas nao ha nada no jQuery que o impeca de fazer essas coisas. Por exemplo, jQuery nao vem com nenhum tipo de sistema de heranca, mas tudo bem. Voce pode, se quiser, utilizar o MooTools Class conjuntamente com jQuery (ou escrever a sua propria). Existe ate um plug-in de heranca para jQuery (eu nao utilizei, mas assumo que ele ofereca o mesmo tipo de tipo funcionalidade).Se nos olharmos para o exemplo do jQuery acima: $(document).ready(function() { $("a").click(function(event) { alert("Thanks for visiting!"); });});e quisessemos traduzir para MooTools, teriamos: window.addEvent('domready', function() { $('a').addEvent('click', function(event) { alert('Thanks for visiting!'); });});Existem muitas semelhancas, nao?Aqui um exemplo mais complexo do jQuery: $(document).ready(function() { $("#orderedlist li:last").hover(function() { $(this).addClass("green"); }, function() { $(this).removeClass("green"); });});e no MooTools: window.addEvent('domready',function() { $('#orderedlist li:last').addEvents({ mouseenter: function() { this.addClass('green'); }, mouseleave: function() { this.removeClass('green'); } });});Novamente, muito semelhantes. Posso argumentar que a versao do MooTools e mais explicita, mas tambem, devido a este motivo, e mais longa. Esta claro lendo o codigo do MooTools que estamos adicionando dois eventos - um para onmouseenter e outro para onmouseleave; enquanto a versao jQuery e mais concisa, seu metodo hover recebe duas funcoes - a primeira para onmouseenter e a segunda para onmouseleave. Pessoalmente, gosto do fato de o MooTools ser mais legivel, mas essa e uma observacao muito subjetiva.Vou dizer que as vezes o codigo do jQuery se torna muito exoterico para o meu gosto. Para mim, os metodos nem sempre fazem sentido apenas com uma breve olhada eu acho dificil de entende-los. Entretanto, isto e de alguma forma injusto, uma vez que sou intimamente familiar com codigos MooTools, entao acho facil de ler MooTools. Mas uma das coisas que admiro no MooTools e como praticamente todos os nomes de metodos e classes realmente informam sobre a sua funcao. Metodos sao quase sempre verbos e deixam poucas duvidas sobre o que eles fazem. Toda linguagem de programacao requer que voce va a documentacao para procurar sobre a sintaxe quando voce codifica - entretanto so estou dizendo que acho a API do MooTools mais coerente e consistente. MooTools permite voce fazer da sua propria maneiraMas e se voce gosta da sintaxe do jQuery? Uma forma de ilustrar o poder do MooTools e mostrar como e facil altera-lo ao seu gosto. Se nos quisermos implementar o metodo hover do jQuery no MooTools, poderiamos facilmente fazer: Element.implement{{ hover : function(enter,leave){ this.addEvents({ mouseenter : enter, mouseleave : leave }); }});//and then you could use it exactly like the jQuery version:$('#orderlist li:last').hover(function(){ this.addClass('green'); }, function(){ this.removeClass('green');});De fato, existem plug-ins do MooTools que fazem exatamente isso; oferecem a voce a sintaxe do jQuery no MooTools. O foco do MooTools em extensibilidade significa que voce pode implementar qualquer coisa que voce queira. Isto e uma das coisas que o jQuery nao consegue fazer. O MooTools pode imitar o jQuery se quiser,