Foros del Web » Programando para Internet » Javascript »

prototype: envolver elementos html

Estas en el tema de prototype: envolver elementos html en el foro de Javascript en Foros del Web. hola, estoy intentando envolver un elemento html dentro de otro/s mediante la librería javascript prototype: Código: Event.observe(window, 'load', function() { $$('img').each(function(item){ new Insertion.Before(item, '<div class="wrap1"><div ...
  #1 (permalink)  
Antiguo 30/04/2007, 19:14
 
Fecha de Ingreso: junio-2002
Mensajes: 750
Antigüedad: 21 años, 10 meses
Puntos: 22
prototype: envolver elementos html

hola,
estoy intentando envolver un elemento html dentro de otro/s mediante la librería javascript prototype:
Código:
    Event.observe(window, 'load', function() {
      $$('img').each(function(item){
        new Insertion.Before(item, '<div class="wrap1"><div class="wrap2"><div class="wrap3">');
        new Insertion.After(item, '</div></div></div>');
      });
    });
Pero obtengo:
Código HTML:
<div class="wrap1"><div class="wrap2"><div class="wrap3">
</div></div></div>
<img src="elemento.gif" /> 
En vez de:
Código HTML:
<div class="wrap1"><div class="wrap2"><div class="wrap3">
<img src="elemento.gif" />
</div></div></div> 
¿cómo solucionarlo?
---------------------------------------------------------[Mensaje Editado]
Por el momento he encontrado la siguiente solución:
Código:
//Extender prototype con la función wrap
      Element.addMethods({
        wrap: function(element, tagName) {
          element = $(element);
          var wrapper = document.createElement(tagName);
          element.parentNode.replaceChild(wrapper, element);
          wrapper.appendChild(element);
          return Element.extend(wrapper);
        }

//buscar las imágenes dentro de .gallery y envolverlas en 3 <div></div>
      $$('.gallery img').each(function(item){
        var i = 1;
        while(i <= 3){
          item.wrap('div').addClassName('wrap'+i);
          i++;
        }
      });

Última edición por all-ill; 02/05/2007 a las 08:23 Razón: encontrada solución provisional
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.