Mootools y el DOM

4 de September, 2007

Una de las clases mas importantes que tiene Mootools es la clase Element, la cual nos brinda métodos para manipular el DOM de nuestras páginas de manera muy sencilla.

Creando un Elemento

var miElemento = new Element(tipoElemento, {opciones});

Donde tipoElemento es el tipo de elemento que vamos a crear, por ejemplo ‘a’ (un enlace).

var miEnlace = new Element('a');

Las opciones pueden ser propiedades, eventos y estilos tal como lo detallo a continuación.

Propiedades
Las propiedades tales como id, class, href se agregan como propiedades de un objeto, así:

var miEnlace = new Element('a',
{
      'class': 'mi-clase',
      'id': 'mi-id',
      'href': 'http://sitio.com'
});

Estilos
Los estilos se agregan de manera muy similar a las propiedades, pero en una llave styles.

var miEnlace = new Element('a',
{
      'href': 'http://sitio.com',
      'styles':
      {
            'border': '1px solid #ff0000',
            'padding': '5px',
      }
});

Eventos
Podemos agregar varios eventos de la misma manera que agregamos estilos, pero esta vez en la llave events.

var miEnlace = new Element('a',
{
      'href': 'http://sitio.com',
      'styles':
      {
            'border': '1px solid #ff0000',
            'padding': '5px',
      },
      'events':
      {
            'mouseenter': function()
            {
                  alert('mouseEnter');
            },
            'mouseleave': function()
            {
                  alert('mouseLeave');
            }
      }
});

En todos los ejemplos los elementos son creados, pero para que puedan ser visualizados deben ser insertados en algún sitio. Mas adelante explicaré como, pero básicamente se trata de usar injectBefore, injectAfter, injectInside, injectTop y/o adopt.

Utilizar elementos existentes

Con los ejemplos anteriores vimos como crear nuevos elementos, pero si lo que deseamos es utilizar elementos que ya existen en nuestra pagina podemos hacer uso de las funciones $ y $$ para buscar y utilizar los elementos que necesitamos.

$( id )
Utilizamos $ cuando buscamos un solo elemento por su id. Retorna el elemento o false en caso de no encontrarlo.

<a href="#" id="uno">Mi Enlace</a>
var miEnlace = $('uno');

$$( selector [, otro selector, y mas selectores] )
Cuando buscamos varios elementos debemos utilizar $$ quien nos devuelve un arreglo con los elementos que especificamos.

//Seleccionamos todos los enlaces de nuestra página
var misEnlaces = $$('a');
 
misEnlaces.each(function(elemento)
{
       miEnlace = elemento
});

Puedes indicar varios tipos de elementos como en el siguiente ejemplo:

//Seleccionamos todos los enlaces y h1.
var misElementos = $$('a', 'h1');

También puedes indicar un arreglo con ids de elementos:

//Seleccionamos todos los enlaces y los elementos con id uno, dos y tres.
var misElementos = $$('a', ['uno', 'dos', 'tres']);

Si incluiste el paquete Element.Selectors.js también puedes usar selectores CSS.

//Seleccionamos todos los enlaces con class enlace
var misEnlaces = $$('a.enlace');
//Seleccionamos todos los enlaces que están dentro de elemento.
var misEnlaces = $$('#elemento a');
//Seleccionamos todos los enlaces, h1 y elementos con class texto.
var misElementos = $$('a', 'h1', '.texto');

Por el momento ya vimos como crear nuevos elementos y seleccionar los existentes. Próximamente explicaré algunos de los métodos para manipular elementos, insertarlos, copiarlos, borrarlos, agregarles propiedades, eventos, clases, estilos, etc

Popularity: 4% [?]

Otros artículos

10 comentarios en “Mootools y el DOM”

  1. yofortin Dijo:

    hola!, tengo un gran problema. Estoy trabajando en una web http://www.yofortin.com y quisiera saber como poner un sistema de comentarios en cada noticias.
    por favor si alguien me explica se los agradecería
    saludos..

  2. Federico Dijo:

    yofortin, en un lugar como foros del web seguramente encuentres mas ayuda.

    Saludos

  3. Arcadio Dijo:

    interesante… esperamos los ejemplos…

  4. Federico Dijo:

    Vienen en camino… Ya vienen, ya vienen!!

  5. cynthia Dijo:

    i’m learning javascript just to use things like mootools. this post was great! thanks

  6. Federico Dijo:

    Gracias a ti por el comentario :-)

  7. Introducción a MooTools Dijo:

    [...] Creación y búsqueda de elementos. [...]

  8. miguel ventura Dijo:

    oye tu post estan de lujo te felicito gracias a ti estoy aprendiento mas

    te pido un favor has mas post sobre php con poo y mvc combinado con ajax

  9. miguel ventura Dijo:

    como puedo desarrollar carro de compras con php(poo)y ajax me pudes ayudar….

    te lo agradeceria

  10. Mootools y el DOM, tercera parte | AplicacionesWeb Dijo:

    [...] sencillo y se puede comprender fácilmente con estos ejemplos planos. En unos días terminamos con la clase Element (por fin!) en la cuarta y última parte de esta serie de [...]

Deja tu comentario

XHTML: Puedes usar estos tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

El blog funciona con Wordpress y Simpla theme