Conectarse
Pagerank
Últimos temas
Las imagenes e historias que se posteen en este foro son de sus respectivos dueños, cada uno tendra el link correspondiente a la pagina donde lo ubico su creador originalmente.Todo el materia ya se encuentra bajo licencia por favor si quieres tomar algo comunicarse con la administración del foro, o el dueño del post.
Codigos CSS-HTML-JS
APRENDO EN...
TOMO RECURSOS DE...
RESEÑAS...
Propiedades Basicas Javascript: Modificaciones Via DOM
AnshiG :: OurHobbies :: Diseño Web :: Tutoriales :: Javascript
Página 1 de 1.
Propiedades Basicas Javascript: Modificaciones Via DOM
TUTORIAL REALIZADO POR PYRITE WOLF DE SOURCECODE
#004 - Modificaciones vía DOM
Recuerda que este tuto es parte de una serie de tutos, en la que se asume que has leído el anterior. También recuerda que se asume que manejas más o menos bien el HTML y CSS.
El DOM o Document Object Model es la interfaz que nos permite el uso del HTML. Esta interfaz además nos permite modificar el esquema del HTML, incluso cuando no tenemos acceso al mismo. Lo que te enseñará este tuto es a insertar elementos y a moverlos de lugar dentro de la estructura del HTML de tu foro, incluso cuando no puedas modificar el HTML de tu foro por la versión de PHPBB que usas.
1. Rodear elementos
Empleando js podemos envolver a elementos con divs determinados o, por el contrario, eliminarle divs a un HTML. Esto se hace útil cuando uno usa un foro que no sea PHPBB2, ya que puede modificar la estructura del foro con facilidad. Para poder rodear a un elemento, supongamos, llamado #cajita, con uno que tenga class="shalala", tendremos que hacer algo así:
- Código:
$('#cajita').wrap('<div class="shalala"></div>');
- Código:
<div class="shalala"><div id="cajita">bla bla bla, contenido de la cajita</div></div>
- Código:
$('#cajita').unwrap('<div class="shalala"></div>');
- Código:
<div id="cajita">bla bla bla, contenido de la cajita</div>
2. Insertar elementos (por dentro)
Otro objetivo que podemos llegar a tener es querer hacer que algo quede adentro de otro algo. Por ejemplo, podemos querer que nuestra famosa .shalala termine dentro de #cajita. Podemos tener dos casos:
A. Si el elemento que queremos que quede adentro de otro elemento ya existe en el HTML.
Por ejemplo, si nuestro .shalala ya existe en el HTML, en cualquier punto del documento (página), y lo queremos quitar de donde está para meterlo dentro de #cajita.
- Si queremos que salga al final del contenido de #cajita, emplearemos lo siguiente:
El resultado sería:$('.shalala').appendTo($('#cajita'));- Código:
<div id="cajita">Bla bla bla contenido de la cajita<div class="shalala">contenido del shalala</div></div>
- Si queremos que salga al principio del contenido de #cajita, emplearemos lo siguiente:
El resultado sería:$('.shalala').prependTo($('#cajita'));- Código:
<div id="cajita"><div class="shalala">contenido del shalala</div>Bla bla bla contenido de la cajita</div>
B. Si el elemento que queremos que quede adentro de otro elemento NO existe en el HTML.
Por ejemplo, si nuestro .shalala no ha sido creado en el HTML, en ningún punto del documento (página), y lo queremos generar directamente dentro de #cajita.
- Si queremos que salga al final del contenido de #cajita, emplearemos lo siguiente:
- Código:
$('<div class="shalala"></div>').appendTo('#cajita');
- Código:
<div id="cajita">Bla bla bla contenido de la cajita<div class="shalala">contenido del shalala</div></div>
- Si queremos que salga al principio del contenido de #cajita, emplearemos lo siguiente:
- Código:
$('<div class="shalala"></div>').prependTo('#cajita');
- Código:
<div id="cajita"><div class="shalala">contenido del shalala</div>Bla bla bla contenido de la cajita</div>
3. Insertar elementos (por fuera)
Nuestro objetivo ahora será hacer que aparezca contenido HTML por fuera de los elementos. Nuevamente, esto dependerá de si el elemento que queremos insertar ya existe o no.
A. Si el elemento que queremos que quede adentro de otro elemento ya existe en el HTML.
Por ejemplo, si nuestro .shalala ya existe en el HTML, en cualquier punto del documento (página), y lo queremos quitar de donde está para colocarlo antes o después de #cajita.
- Si queremos que antes de #cajita, emplearemos lo siguiente:
El resultado sería:$('#cajita').insertBefore($('.shalala'));- Código:
<div class="shalala">contenido del shalala</div><div id="cajita">Bla bla bla contenido de la cajita</div>
- Si queremos que salga después de nuestra #cajita, emplearemos lo siguiente:
El resultado sería:$('#cajita').insertAfter($('.shalala'));- Código:
<div id="cajita">Bla bla bla contenido de la cajita</div><div class="shalala">contenido del shalala</div>
B. Si el elemento que queremos que quede adentro de otro elemento NO existe en el HTML.
Por ejemplo, si nuestro .shalala no ha sido creado en el HTML, en ningún punto del documento (página), y lo queremos generar directamente antes o después de #cajita.
- Si queremos que antes de #cajita, emplearemos lo siguiente:
- Código:
$('#cajita').insertBefore('<div class="shalala"></div>');
- Código:
<div class="shalala">contenido del shalala</div><div id="cajita">Bla bla bla contenido de la cajita</div>
- Si queremos que salga después de nuestra #cajita, emplearemos lo siguiente:
- Código:
$('#cajita').insertAfter('<div class="shalala"></div>');
- Código:
<div id="cajita">Bla bla bla contenido de la cajita</div><div class="shalala">contenido del shalala</div>
Por si no lo notaste, en estas funciones los elementos van al revés que en las explicadas en la sección de Insertar Elementos (por dentro):
- Para insertar elementos dentro de otros elementos, primero llamamos al elemento "a insertar", luego colocamos la función y entre los paréntesis de la función colocamos al elemento "contenedor".
- Para insertar elementos por fuera de otros elementos, primero llamamos al elemento "de referencia", luego colocamos la función y entre los paréntesis de la función colocamos al elemento "a insertar".
4. Reemplazar elementos
Si, donde hay algún elemento (supongamos, nuestra estimada #cajita) queremos que aparezca otro elemento y no #cajita (supongamos, la buena .shalala), debemos emplear la siguiente función:
Al igual que en los casos anteriores, si .shalala no existe podemos escribirlo de esta forma:$('#cajita').replaceWith('.shalala');
- Código:
$('#cajita').replaceWith('<div class="shalala"></div>');
5. Modificar atributos
A veces queremos o necesitamos cambiar un atributo de un elemento HTML, y no tenemos como. Supongamos que esta vez #cajita es una imagen y queremos cambiar su atributo src:
Es simple, pero puede permitirnos modificar elementos que no podemos tocar o cambiar los atributos de elementos ante determinados eventos, de ser necesario (:$('#cajita').attr('src', 'nuevo link aquí');
Lo siento si esto fue algo más largo que los anteriores e__e ¡pero no quería que temas tan importantes quedaran separados por allí! En el próximo tuto, aprenderemos a emplear contadores de tiempo, hacer loops infinitos y otras cosas entretenidas. Cualquier duda, consulta, etc. ¡no duden en dejar su mensaje aquí mismo! (: Recuerden practicar para manejar todo cómodamente.
Sakura92- Webmaster
- Mensajes : 175
Puntos : 413242
Reputación : 2
Edad : 31
AnshiG :: OurHobbies :: Diseño Web :: Tutoriales :: Javascript
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|
Dom Ene 03, 2016 2:36 pm por Sakura92
» Hemos vuelto!!
Dom Ene 03, 2016 2:31 pm por Sakura92
» Actualización FEBRERO 2015
Vie Feb 27, 2015 10:22 am por Sakura92
» Cosplay (Varios)
Lun Feb 23, 2015 10:42 am por Sakura92
» Cosplay (Varios)
Lun Feb 23, 2015 10:41 am por Sakura92
» Materias favoritas... y no tanto!
Jue Feb 12, 2015 10:47 am por Sakura92
» Que mascotas tienen, tuvieron y les gustaria tener?
Jue Feb 12, 2015 10:38 am por Sakura92
» Redes sociales
Jue Feb 12, 2015 10:09 am por Sakura92
» PS3: Juegos!
Jue Feb 12, 2015 10:03 am por Sakura92
» Consolas o PC?
Jue Feb 12, 2015 9:55 am por Sakura92
» BUSQUEDA DE STAFF
Mar Feb 10, 2015 7:18 pm por Sakura92
» Requisitos y Datos
Mar Feb 10, 2015 12:03 pm por Sakura92
» Limpieza de afiliados
Mar Feb 10, 2015 9:36 am por Sakura92
» Ola ke Ase?
Lun Dic 09, 2013 8:07 pm por Tetsumi
» Guia 7: Reglamento Administracion
Vie Nov 22, 2013 1:05 pm por Sakura92
» Ideas
Vie Nov 22, 2013 1:02 pm por Sakura92
» Puntos
Vie Nov 22, 2013 12:59 pm por Sakura92
» Reglamento Soporte
Vie Nov 22, 2013 12:58 pm por Sakura92
» Reglamento Tutoriales
Vie Nov 22, 2013 12:57 pm por Sakura92
» Reglamento Galerias
Vie Nov 22, 2013 12:57 pm por Sakura92
» Reglamento Recursos
Vie Nov 22, 2013 12:56 pm por Sakura92
» Reglamento Talleres y Pedidos
Vie Nov 22, 2013 12:56 pm por Sakura92
» Incumplimientos
Vie Nov 22, 2013 12:52 pm por Sakura92
» Wings of Freedom [Elite]
Lun Sep 30, 2013 2:28 pm por Invitado
» Yugi Oh! RPG [Élite]
Miér Ago 07, 2013 2:36 am por Invitado
» OMEGA NEW WORLD [Afiliación Élite ]
Miér Jul 31, 2013 6:08 pm por Invitado
» Creando Mundos [Élite]
Vie Jul 26, 2013 12:22 am por Invitado
» World´s Inuyasha RPG [Normal]
Miér Jul 24, 2013 11:46 pm por Invitado
» Fatal Liberty Rol [Élite]
Mar Jul 16, 2013 10:30 am por Invitado
» Fairy Tail Sekai || Re-Apertura! || Afiliación Elite
Miér Jul 03, 2013 1:50 am por Invitado
» Hi(: !
Lun Jul 01, 2013 3:47 am por #Re Sound
» Hola, Hola, ¿hay alguien ahi?
Lun Jul 01, 2013 3:37 am por #Re Sound
» Bleach: Shadow Of Seireitei [Cambio de dirección]
Sáb Jun 29, 2013 11:52 am por Invitado
» Volvi... nose si para siempre pero volvi xD
Vie Jun 28, 2013 9:08 am por Sakura92
» Me extravié en el cielo, ¿qué puedo hacer?
Vie Jun 28, 2013 8:55 am por Sakura92
» Roma Antiqua {Afiliación Normal}
Dom Jun 23, 2013 3:07 pm por Invitado
» Saint Seiya Cosmos Rebellion Rol [Afiliación Élite]
Dom Jun 16, 2013 12:13 am por Invitado
» Buck Tick Fans [Élite]
Jue Jun 13, 2013 1:49 am por Invitado
» End of Silence [Cambio de dirección y botones]
Vie Mayo 31, 2013 5:54 am por Invitado
» Campamento mestizo [Afiliación Elite]
Miér Mayo 29, 2013 6:11 pm por Invitado
» Render Universe - Elite
Dom Mayo 19, 2013 3:58 pm por Invitado
» Love orange and cyan (tutorial9
Jue Mayo 16, 2013 3:51 pm por Loki
» AVISO
Jue Mayo 16, 2013 8:49 am por Sakura92
» Code Geass: Endless Dark [Élite]
Miér Mayo 01, 2013 2:22 am por Invitado
» Creative Designs (normal)
Mar Abr 30, 2013 12:48 am por Invitado
» Ultimate Inazuma Rol -Cambio de banner-
Jue Abr 25, 2013 1:26 pm por Invitado
» Buenas...
Mar Abr 16, 2013 3:58 pm por Naggar
» Actualizacion de Abril
Mar Abr 16, 2013 2:00 pm por Sakura92
» Texuras y Png hechas por mi (Sueltas) - Actu 13/04
Lun Abr 15, 2013 8:16 am por Jotaro Kujo
» AVISO DE AUSENCIA TEMPORAL
Vie Abr 12, 2013 2:46 pm por Zec