‘ ajax ’ category archive

El drama de getElementsByClassName

September 27, 08 by Max Villegas

Hace rato que uso la librería jQuery por lo que me resulta súper fácil manipular elementos HTML por su su clase, independiente de su tagName (a, div, span, etc). Por ejemplo en una breve y simple líena puedo darle display:none a todos los elementos con clase hide:

//lo simple es bello
$(‘.hide’).hide();

En Prototype (que no ocupo desde que comencé a usar jQuery), aunque era un poco más complejo y limitado, tampoco daba muchos dolores de cabeza:

//Sólo hay que dominar bien los selectores tipo CSS de Prototype
$$(‘div.hide’).invoke(‘hide’);

Incluso era posible de esta forma:

//iteramos sobre cada elemento
documetnt.getElementsByClassName(‘hide’).(Element.hide);

Pero resulta que la función getElementsByClassName() aún no es un estándar (lo que significa
que obviamente no funciona de froma nativa ni en IE6 ni en IE7, pero sí en Firefox3, Safari y Chrome), por
lo tanto, para que funcione en IE debe estar soportada por la librería que ocupemos.

En el caso que estemos trabajando sin ninguna librería o que no esté soportada (por ejemplo en las versiones nuevas de Prototype está obsoleta), la podemos implementar fácilmente con el siguiente código:

document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp(‘\\b’+cl+’\\b’);
var elem = this.getElementsByTagName(‘*’);
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};

Referencias:

Lo nuevo de jquery 1.2

January 26, 08 by Max Villegas

La librería jquery se ha transformado en mi preferida, tanto así que dejado de usar prototype, incluso en AyerViernes, por una cuestón de kb, ya es la librería oficial de los proyectos en curso.

El 14 de enero salió la versión 1.2.2 bug fix release que trae algunas cosas nuevas, entre las que destaca una mejora en la función .ready(), pues ahora puede usarse tanto de la forma tradicional como a través de .bind()


$(document).bind("ready", function(){
// put all your jQuery goodness in here.
});

o bien


$(document).ready(function() {
// put all your jQuery goodness in here.
});

Puedes ver lo nuevo de jquery 1.2.2 en su anuncio oficial

Google AJAX framework

May 17, 06 by Max Villegas

Google liberó un nuevo AJAX framework basado en Java llamado Google Web Toolkit (GWT). Con este framework se pueden escribir facilmente plicaciones AJAX tal como Google Maps o Gmail.

Google Web Toolkit promete masificar AJAX y se constituye como un paso más en la conquista del mundo por parte de Google.

Personalemente el que esté basado en Java no me ha parecido del todo bien. De todas formas, viendo sus ejemplos (otro), seguro que nos permite ahorrar un montón de tiempo y olvidarnos del lío de compatibilidad entre Internet Explorer, Firefox, Safari y Opera.

Recursos
Ajax
Google

Better Tag Cloud