estoy intentando envolver un elemento html dentro de otro/s mediante la librería javascript prototype:
Código:
Pero obtengo: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>'); }); });
Código HTML:
<div class="wrap1"><div class="wrap2"><div class="wrap3"> </div></div></div> <img src="elemento.gif" />
Código HTML:
<div class="wrap1"><div class="wrap2"><div class="wrap3"> <img src="elemento.gif" /> </div></div></div>
---------------------------------------------------------[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++; } });