AnshiG
Bienvenidos a AnshiG.!!

Unirse al foro, es rápido y fácil

AnshiG
Bienvenidos a AnshiG.!!
AnshiG
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Conectarse

Recuperar mi contraseña


Afiliados Elite


Normales
Kimi wa Petto TOP
Pagerank

Últimos temas
» Blog de Renders!
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyDom Ene 03, 2016 2:36 pm por Sakura92

» Hemos vuelto!!
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyDom Ene 03, 2016 2:31 pm por Sakura92

» Actualización FEBRERO 2015
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Feb 27, 2015 10:22 am por Sakura92

» Cosplay (Varios)
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Feb 23, 2015 10:42 am por Sakura92

» Cosplay (Varios)
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Feb 23, 2015 10:41 am por Sakura92

» Materias favoritas... y no tanto!
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Feb 12, 2015 10:47 am por Sakura92

» Que mascotas tienen, tuvieron y les gustaria tener?
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Feb 12, 2015 10:38 am por Sakura92

» Redes sociales
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Feb 12, 2015 10:09 am por Sakura92

» PS3: Juegos!
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Feb 12, 2015 10:03 am por Sakura92

» Consolas o PC?
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Feb 12, 2015 9:55 am por Sakura92

» BUSQUEDA DE STAFF
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Feb 10, 2015 7:18 pm por Sakura92

» Requisitos y Datos
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Feb 10, 2015 12:03 pm por Sakura92

» Limpieza de afiliados
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Feb 10, 2015 9:36 am por Sakura92

» Ola ke Ase?
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Dic 09, 2013 8:07 pm por Tetsumi

» Guia 7: Reglamento Administracion
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 1:05 pm por Sakura92

» Ideas
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 1:02 pm por Sakura92

» Puntos
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:59 pm por Sakura92

» Reglamento Soporte
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:58 pm por Sakura92

» Reglamento Tutoriales
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:57 pm por Sakura92

» Reglamento Galerias
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:57 pm por Sakura92

» Reglamento Recursos
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:56 pm por Sakura92

» Reglamento Talleres y Pedidos
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:56 pm por Sakura92

» Incumplimientos
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Nov 22, 2013 12:52 pm por Sakura92

» Wings of Freedom [Elite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Sep 30, 2013 2:28 pm por Invitado

» Yugi Oh! RPG [Élite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMiér Ago 07, 2013 2:36 am por Invitado

» OMEGA NEW WORLD [Afiliación Élite ]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMiér Jul 31, 2013 6:08 pm por Invitado

» Creando Mundos [Élite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Jul 26, 2013 12:22 am por Invitado

» World´s Inuyasha RPG [Normal]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMiér Jul 24, 2013 11:46 pm por Invitado

» Fatal Liberty Rol [Élite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Jul 16, 2013 10:30 am por Invitado

» Fairy Tail Sekai || Re-Apertura! || Afiliación Elite
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMiér Jul 03, 2013 1:50 am por Invitado

» Hi(: !
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Jul 01, 2013 3:47 am por #Re Sound

» Hola, Hola, ¿hay alguien ahi?
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Jul 01, 2013 3:37 am por #Re Sound

» Bleach: Shadow Of Seireitei [Cambio de dirección]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptySáb Jun 29, 2013 11:52 am por Invitado

» Volvi... nose si para siempre pero volvi xD
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Jun 28, 2013 9:08 am por Sakura92

» Me extravié en el cielo, ¿qué puedo hacer?
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Jun 28, 2013 8:55 am por Sakura92

» Roma Antiqua {Afiliación Normal}
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyDom Jun 23, 2013 3:07 pm por Invitado

» Saint Seiya Cosmos Rebellion Rol [Afiliación Élite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyDom Jun 16, 2013 12:13 am por Invitado

» Buck Tick Fans [Élite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Jun 13, 2013 1:49 am por Invitado

» End of Silence [Cambio de dirección y botones]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Mayo 31, 2013 5:54 am por Invitado

» Campamento mestizo [Afiliación Elite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMiér Mayo 29, 2013 6:11 pm por Invitado

» Render Universe - Elite
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyDom Mayo 19, 2013 3:58 pm por Invitado

» Love orange and cyan (tutorial9
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Mayo 16, 2013 3:51 pm por Loki

» AVISO
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Mayo 16, 2013 8:49 am por Sakura92

» Code Geass: Endless Dark [Élite]
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMiér Mayo 01, 2013 2:22 am por Invitado

» Creative Designs (normal)
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Abr 30, 2013 12:48 am por Invitado

» Ultimate Inazuma Rol -Cambio de banner-
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyJue Abr 25, 2013 1:26 pm por Invitado

» Buenas...
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Abr 16, 2013 3:58 pm por Naggar

» Actualizacion de Abril
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyMar Abr 16, 2013 2:00 pm por Sakura92

» Texuras y Png hechas por mi (Sueltas) - Actu 13/04
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyLun Abr 15, 2013 8:16 am por Jotaro Kujo

» AVISO DE AUSENCIA TEMPORAL
Propiedades Basicas Javascript: Modificaciones Via DOM EmptyVie Abr 12, 2013 2:46 pm por Zec



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.
Creative Commons License
Crear
foro
Codigos CSS-HTML-JS

APRENDO EN...
Estudio en Eternal Designs Melody Graphics School ise-graficos Propiedades Basicas Javascript: Modificaciones Via DOM 08 Propiedades Basicas Javascript: Modificaciones Via DOM Yyyghjy Propiedades Basicas Javascript: Modificaciones Via DOM Mschool

TOMO RECURSOS DE...
Propiedades Basicas Javascript: Modificaciones Via DOM Recursos-1

RESEÑAS...


Propiedades Basicas Javascript: Modificaciones Via DOM

Ir abajo

Propiedades Basicas Javascript: Modificaciones Via DOM Empty Propiedades Basicas Javascript: Modificaciones Via DOM

Mensaje por Sakura92 Sáb Abr 06, 2013 7:13 pm

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>');
La estructura HTML resultante sería:
Código:
<div class="shalala"><div id="cajita">bla bla bla, contenido de la cajita</div></div>
Ahora, si para empezar tenemos esa estructura y queremos quitar el div llamado .shalala, lo que haremos será:
Código:
$('#cajita').unwrap('<div class="shalala"></div>');
Entonces, el resultado final será meramente nuestra querida #cajita:
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:
    $('.shalala').appendTo($('#cajita'));
    El resultado sería:
    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:
    $('.shalala').prependTo($('#cajita'));
    El resultado sería:
    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');
    El resultado sería:
    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');
    El resultado sería:
    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:
    $('#cajita').insertBefore($('.shalala'));
    El resultado sería:
    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:
    $('#cajita').insertAfter($('.shalala'));
    El resultado sería:
    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>');
    El resultado sería:
    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>');
    El resultado sería:
    Código:
    <div id="cajita">Bla bla bla contenido de la cajita</div><div class="shalala">contenido del shalala</div>
¡ATENCIÓN!
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:
$('#cajita').replaceWith('.shalala');
Al igual que en los casos anteriores, si .shalala no existe podemos escribirlo de esta forma:
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:
$('#cajita').attr('src', 'nuevo link aquí');
Es simple, pero puede permitirnos modificar elementos que no podemos tocar o cambiar los atributos de elementos ante determinados eventos, de ser necesario (:

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
Sakura92
Webmaster
Webmaster

Mensajes : 175
Puntos : 413242
Reputación : 2
Edad : 31

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.