Cómo podriamos, por ejemplo, insertar una imagencilla a la derecha de un link cuando pasamos el raton sobre el? No se me ocurre, solo sé ponerla al final del parrafo, y yo la quiero justo al lado del link.
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
| ||||
Insertar donde yo quiera con DOM Al insertar un nuevo elemento con DOM me encuentro con una limitacion muy grande. Con .appendChild() solo puedo meter elementos al final de la etiqueta, no donde yo quiera. Cómo podriamos, por ejemplo, insertar una imagencilla a la derecha de un link cuando pasamos el raton sobre el? No se me ocurre, solo sé ponerla al final del parrafo, y yo la quiero justo al lado del link. ![]()
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Ok Javier, esa era la clave. Gracias! ![]()
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Hola: Solo una pequeña apreciación: Usando parentNode tan solo necesitamos el nodo donde queremos poner el objeto antes: Esta línea: document.getElementById('pru').insertBefore(ele, obj); ... podría ser: obj.parentNode.insertBefore(ele, obj); ... y si quisiéramos que siempre se insertase como primer hijo de un nodo (ejemplo "contenedor"), podemos usar el método hasChildNodes() y el firstChild: var contenedor = document.getElementById("contenedor"); if (contenedor.hasChildNodes()) contenedor.insertBefore(ele, contenedor.firstChild) else contenedor.appendChild(ele) Hay más cosas del DOM muy interesantes... ![]() Saludos ![]()
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| ||||
De acuerdo caricatos, memorizado ![]()
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Me queda una duda. Vale, para insertar un nodo antes, insertBefore. Para insertarlo despues? Buscaba un insertAfter.. y lo encontre por google: Código PHP: Código PHP: Código PHP:
Código:
sobre IE... a:hover:before {content: "["} a:hover:after{content:"]"} ![]() Una ultima pijada poniendome tiquismiquis. Si el enlace tiene texto alrededor, nos podemos dar cuenta que antes y despues del enlace hay como doble espaciado. esto es por que se junta el espacio y el div oculto. No es que quede feo, ya es solo por curiosidad. ¿Se podria eliminar el espacio (si existiera) de antes y despues de todos los enlaces?
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Hola de nuevo. A ver que tal estas modificaciones: Código PHP: ![]() |
| ||||
Lo has clavao Javier! Bueno, ya lo tenemos en las faq. FAQ#227 (cuántos hay ya no? Parece una biblioteca mas que un FAQ xD). Pongo el codigo final tambien aqui: Código PHP:
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Bien: Pero el nodo "parent" no es necesario porque se puede usar parentNode (¡qué jueguito de palabras ha salido!...) function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); } quedaría: function insertAfter(node, referenceNode) { // sin parent referenceNode.parentNode.insertBefore(node, referenceNode.nextSibling); } Se evitaría así que se quisiera colgar un nodo en cualquier sitio... por ejemplo document.body... Saludos ![]()
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |