SlideShare uma empresa Scribd logo
1 de 23
Universidad de Panamá
      Centro Regional Universitario de Coclé
      Facultad de Informática, Electrónica y
                 Comunicación
             Programación para Web
                Capítulo 5: DOM

Por: Ibarra Ivana, Martínez Nemecio y Pinto Ana M.
                    Junio 2012
CONTENIDO
5. DOM
5.1. Árbol de nodos
5.2. Tipos de nodos
5.3. Acceso directo a los nodos
   5.3.1. getElementsByTagName()
   5.3.2. getElementsByName()
   5.3.3. getElementById()
5.4. Creación y eliminación de nodos
   5.4.1. Creación de elementos XHTML simples
   5.4.2. Eliminación de nodos
   5.5. Acceso directo a los atributos XHTML
   Conclusiones
   Bibliografía
Definición de DOM


DOM permite a los programadores web acceder
y manipular las páginas XHTML como si
fueran documentos XML.
De hecho, DOM se diseñó originalmente para
manipular de forma sencilla los documentos
XML.


                                    Volver
Árbol de nodos



Una de las tareas habituales en la
programación de aplicaciones web con
JavaScript consiste en la manipulación de las
páginas web. Todas estas tareas habituales son
muy sencillas de realizar gracias a DOM.
Sin embargo, para poder utilizar las utilidades de
DOM, es necesario "transformar" la página
original.




                                                 Volver
Continuación de Árbol de nodos



DOM transforma todos los documentos XHTML en
un conjunto de elementos llamados nodos, que están
interconectados y que representan los contenidos de
las páginas web y las relaciones entre ellos.
Por su aspecto, la unión de todos
los nodos se llama "árbol de nodos".




                                             Volver
La transformación automática de la página en
             un árbol de nodos siempre sigue las
                       mismas reglas:




Las etiquetas XHTML se            • Si una etiqueta XHTML
transforman en dos nodos:           se encuentra dentro de
el primero es la propia             otra, se sigue el mismo
etiqueta y el segundo nodo          procedimiento
es hijo del       primero y         anterior, pero los nodos
consiste en el contenido            generados serán nodos
textual de la etiqueta.             hijo de su etiqueta padre.




                                                       Volver
5.2. Tipos de nodos
         Las páginas XHTML habituales se pueden manipular
         manejando solamente cuatro o cinco tipos de nodos:
         • Document, nodo raíz del que derivan todos
         los demás nodos del árbol.
         • Element, representa cada una de las etiquetas
             XHTML.


             Attr, se define un nodo de este
            tipo para representar cada uno de los
            atributos de las etiquetas XHTML, es decir,
            uno por cada par atributo=valor.
             Text, nodo que contiene el texto encerrado
            por una etiqueta XHTML.


            Comment, representa los comentarios incluidos en la
                            página XHTML.
Volver
5.3. Acceso directo a los nodos

Una vez construido automáticamente el árbol completo
        de nodos DOM, ya es posible utilizar
     las funciones DOM para acceder de forma
          directa a cualquier nodo del árbol.



DOM proporciona dos métodos alternativos para acceder
       a un nodo específico: acceso a través
        de sus nodos padre y acceso directo.



     Sin embargo, cuando se quiere acceder a
     un nodo específico, es mucho más rápido
       acceder directamente a ese nodo y no
      llegar hasta él descendiendo a través de
               todos sus nodos padre.
                                                        Volver
5.3.1. getElementsByTagName()


La función getElementsByTagName(nombreEtiqueta)
      obtiene todos los elementos de la página
       XHTML cuya etiqueta sea igual que el
        parámetro que se le pasa a la función.



 El siguiente ejemplo muestra cómo obtener todos los
            párrafos de una página XHTML:
var parrafos = document.getElementsByTagName("p");
         En este caso, como se quieren obtener
             todos los párrafos de la página,
        se utiliza el valor document como punto
                de partida de la búsqueda.

                                                  Volver
Continuación de getElementsByTagName()
               De este modo, se puede obtener el
       primer párrafo de la página de la siguiente manera:
                var primerParrafo = parrafos[0];
            De la misma forma, se podrían recorrer
              todos los párrafos de la página con
                       el siguientecódigo:
             for(var i=0; i<parrafos.length; i++) {
                    var parrafo = parrafos[i];
}




    La función getElementsByTagName() se puede aplicar de
              forma recursiva sobre cada uno de los
                 nodos devueltos por la función.


                                                             Volver
5.3.2. getElementsByName()

    En este caso se buscan los elementos
  cuyo atributo name sea igual al parámetro
               proporcionado.

En el siguiente ejemplo, se obtiene directamente
   el único párrafo con el nombre indicado:
              var parrafoEspecial =
 document.getElementsByName("especial");
           <p name="prueba">...</p>
          <p name="especial">...</p>
                   <p>...</p>
  Normalmente el atributo name es único para
  los elementos HTML que lo definen, por lo
      que es un método muy práctico para
     acceder directamente al nodo deseado.
                                                   Volver
5.3.3. getElementById()


 La función getElementById() es la más utilizada
cuando se desarrollan aplicaciones web dinámicas.
       Se trata de la función preferida para
  acceder directamente a un nodo y poder leer o
            modificar sus propiedades.



La función getElementById() devuelve el elemento
      XHTML cuyo atributo id coincide con el
         parámetro indicado en la función.
         Como el atributo id debe ser único
     para cada elemento de una misma página,
 la función devuelve únicamente el nodo deseado.

                                                    Volver
Continuación de getElementById()

                Ejemplo:
             var cabecera =
  document.getElementById("cabecera");
          <div id="cabecera">
      <a href="/" id="logo">...</a>
                 </div>



   La función getElementById() es tan
  importante y tan utilizada en todas las
   aplicaciones web, que casi todos los
    ejemplos y ejercicios que siguen la
         utilizan constantemente.

                                            Volver
5.4. Creación y eliminación de nodos




       Acceder a los nodos y a sus
   propiedades es sólo una parte de las
manipulaciones habituales en las páginas.
Las otras operaciones habituales son las de
 crear y eliminar nodos del árbol DOM,
 es decir, crear y eliminar "trozos" de la
               página web.




                                              Volver
5.4.1. Creación de elementos XHTML simples
       Un elemento XHTML sencillo, como por ejemplo
            un párrafo, genera dos nodos: el primer
             nodo es de tipo Element y representa
              la etiqueta <p> y el segundo nodo
                 es de tipo Text y representa el
             contenido textual de la etiqueta <p>.
           Por este motivo, crear y añadir a la página
         un nuevo elemento XHTML sencillo consta de
                    cuatro pasos diferentes:
           1. Creación de un nodo de tipo Element
                  que represente al elemento.

              2. Creación de un nodo de tipo Text
           que represente el contenido del elemento.
             3. Añadir el nodo Text como nodo hijo
                        del nodo Element.
             4. Añadir el nodo Element a la página,
                 en forma de nodo hijo del nodo
 correspondiente al lugar en el que se quiere insertar el elemento.
                                                                      Volver
El proceso de creación de nuevos nodos puede llegar a ser
   tedioso, ya que implica la utilización de tres funciones
                           DOM:

      createElement(etiqueta): crea un nodo de tipo Element
        que representa al elemento XHTML cuya etiqueta
                    se pasa como parámetro.

       createTextNode(contenido): crea un nodo de tipo Text
              que almacena el contenido textual de los
                       elementos XHTML.


     nodoPadre.appendChild(nodoHijo): añade un nodo como
                      hijo de otro nodo.



                                                              Volver
5.4.2. Eliminación de nodos

  Afortunadamente, eliminar un nodo del árbol DOM
         de la página es mucho más sencillo
                    que añadirlo.


          En este caso, solamente es necesario
           utilizar la función removeChild():
var parrafo = document.getElementById("provisional");
       parrafo.parentNode.removeChild(parrafo);
               <p id="provisional">...</p>

   Para eliminar un nodo de una página XHTML
        se invoca a la función removeChild()
       desde el valor parentNode del nodo que
   se quiere eliminar. Cuando se elimina un nodo,
también se eliminan automáticamente todos los nodos
           hijos que tenga, por lo que no es
   necesario borrar manualmente cada nodo hijo.
                                                        Volver
5.5. Acceso directo a los atributos XHTML

         Una vez que se ha accedido a un nodo,
    el siguiente paso natural consiste en acceder y/o
          modificar sus atributos y propiedades.
     Mediante DOM, es posible acceder de forma
         sencilla a todos los atributos XHTML y
         todas las propiedades CSS de cualquier
                  elemento de la página.


       Los atributos XHTML de los elementos
   de la página se transforman automáticamente en
     propiedades de los nodos. Para acceder a su
     valor, simplemente se indica el nombre del
    atributo XHTML detrás del nombre del nodo.


                                                        Volver
El siguiente ejemplo obtiene de forma
           directa la dirección a la que enlaza el enlace:
       var enlace = document.getElementById("enlace");
          alert(enlace.href); // muestra http://www...com
      <a id="enlace" href="http://www...com">Enlace</a>

            Las propiedades CSS no son tan fáciles
            de obtener como los atributos XHTML.
          Para obtener el valor de cualquier propiedad
         CSS del nodo, se debe utilizar el atributo style.


            El siguiente ejemplo obtiene el valor de
               la propiedad margin de la imagen:
      var imagen = document.getElementById("imagen");
                   alert(imagen.style.margin);
<img id="imagen" style="margin:0; border:0;" src="logo.png" />

                                                             Volver
El único atributo XHTML que no tiene
        el mismo nombre en XHTML y en l
     as propiedades DOM es el atributo class.
     Como la palabra class está reservada por
  JavaScript, no es posible utilizarla para acceder
      al atributo class del elemento XHTML.



                   En su lugar, DOM
    utiliza el nombre className para acceder al
              atributo class de XHTML:
var parrafo = document.getElementById("parrafo");
     alert(parrafo.class); // muestra "undefined"
   alert(parrafo.className); // muestra "normal"
      <p id="parrafo" class="normal">...</p>


                                                      Volver
Conclusiones
      DOM es la estructura de objetos que genera
       el navegador cuando se carga un documento
       y se puede alterar mediante Javascript para
    cambiar dinámicamente los contenidos y aspecto de
                        la página.

         Los objetos del DOM modelizan tanto la
         ventana del navegador como el historial, el
             documento o página web, y todos los
          elementos que pueda tener dentro la propia
    página, como párrafos, divisiones, tablas, formularios y
                      sus campos, etc.

DOM no sólo permite modificar páginas web
en HTML, sino también documentos XML.

                                                               Volver
Bibliografía

Introducción a JavaScript. Autor:
      Javier Eguíluz Pérez




                              Volver
programacion para la web (Dom)

Mais conteúdo relacionado

Mais procurados

Introducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formadosIntroducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formadosJose Emilio Labra Gayo
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básicocamposer
 
DocumentacióN Del Sitio Web En Xml
DocumentacióN Del Sitio Web En XmlDocumentacióN Del Sitio Web En Xml
DocumentacióN Del Sitio Web En XmlAntonio
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formulariosLaura Folgado Galache
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8Atenea tech
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8Atenea tech
 
INFOSAN Objetos del navegador
INFOSAN Objetos del navegador INFOSAN Objetos del navegador
INFOSAN Objetos del navegador FRANCIACOCO
 
Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ivan Ramirez Iglesias
 
Introducción a la creación de páginas web
Introducción a la creación de páginas webIntroducción a la creación de páginas web
Introducción a la creación de páginas webAntonio Martínez Guridi
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8Atenea tech
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQueryDanae Aguilar Guzmán
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSPjubacalo
 

Mais procurados (18)

Introducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formadosIntroducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formados
 
XML y DTDs
XML y DTDsXML y DTDs
XML y DTDs
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básico
 
DocumentacióN Del Sitio Web En Xml
DocumentacióN Del Sitio Web En XmlDocumentacióN Del Sitio Web En Xml
DocumentacióN Del Sitio Web En Xml
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
INFOSAN Objetos del navegador
INFOSAN Objetos del navegador INFOSAN Objetos del navegador
INFOSAN Objetos del navegador
 
Espacios de nombres en XML
Espacios de nombres en XMLEspacios de nombres en XML
Espacios de nombres en XML
 
Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)
 
PHP
PHPPHP
PHP
 
Practica04
Practica04Practica04
Practica04
 
Introducción a la creación de páginas web
Introducción a la creación de páginas webIntroducción a la creación de páginas web
Introducción a la creación de páginas web
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Codigo proceso
Codigo procesoCodigo proceso
Codigo proceso
 

Destaque

Introduccion a DOM y AJAX - Javier Oliver Fulguera
Introduccion a DOM y AJAX  -  Javier Oliver FulgueraIntroduccion a DOM y AJAX  -  Javier Oliver Fulguera
Introduccion a DOM y AJAX - Javier Oliver FulgueraJavier Oliver Fulguera
 
Elementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetosElementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetosCriiztiian Mendoza
 
Document object model(dom)
Document object model(dom)Document object model(dom)
Document object model(dom)rahul kundu
 
DOM ( Document Object Model )
DOM ( Document Object Model )DOM ( Document Object Model )
DOM ( Document Object Model )ITSTB
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Modelchomas kandar
 
Mapas conceptuales con Cmap tools
Mapas conceptuales con Cmap toolsMapas conceptuales con Cmap tools
Mapas conceptuales con Cmap toolsVíctor Barbero
 

Destaque (9)

Introduccion a DOM y AJAX - Javier Oliver Fulguera
Introduccion a DOM y AJAX  -  Javier Oliver FulgueraIntroduccion a DOM y AJAX  -  Javier Oliver Fulguera
Introduccion a DOM y AJAX - Javier Oliver Fulguera
 
Elementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetosElementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetos
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Document object model(dom)
Document object model(dom)Document object model(dom)
Document object model(dom)
 
DOM ( Document Object Model )
DOM ( Document Object Model )DOM ( Document Object Model )
DOM ( Document Object Model )
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Usando Cmap Tools
Usando Cmap ToolsUsando Cmap Tools
Usando Cmap Tools
 
Mapas Conceptuales (Hermes)
Mapas Conceptuales (Hermes)Mapas Conceptuales (Hermes)
Mapas Conceptuales (Hermes)
 
Mapas conceptuales con Cmap tools
Mapas conceptuales con Cmap toolsMapas conceptuales con Cmap tools
Mapas conceptuales con Cmap tools
 

Semelhante a programacion para la web (Dom)

Semelhante a programacion para la web (Dom) (20)

Dom
DomDom
Dom
 
Javascript dom
Javascript domJavascript dom
Javascript dom
 
Html5, css3, java script
Html5, css3, java scriptHtml5, css3, java script
Html5, css3, java script
 
Programación Web - Java Script.pptx
Programación Web - Java Script.pptxProgramación Web - Java Script.pptx
Programación Web - Java Script.pptx
 
Apuntes: Manejar el DOM con JavaScript
Apuntes: Manejar el DOM con JavaScriptApuntes: Manejar el DOM con JavaScript
Apuntes: Manejar el DOM con JavaScript
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
Guiajs2
Guiajs2Guiajs2
Guiajs2
 
Dom
DomDom
Dom
 
JavaScript
JavaScriptJavaScript
JavaScript
 
6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)
 
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y ValidacionesDesarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap is
 
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
 
05 Introduccion a HTML
05 Introduccion a HTML05 Introduccion a HTML
05 Introduccion a HTML
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#
 
D cdot
D cdotD cdot
D cdot
 
Diseño
DiseñoDiseño
Diseño
 
Presentación1 de frames y marcos
Presentación1 de frames y marcosPresentación1 de frames y marcos
Presentación1 de frames y marcos
 
Frameworks de templates y xml
Frameworks de templates y xmlFrameworks de templates y xml
Frameworks de templates y xml
 
Xml
XmlXml
Xml
 

Último

Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 

Último (20)

Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 

programacion para la web (Dom)

  • 1. Universidad de Panamá Centro Regional Universitario de Coclé Facultad de Informática, Electrónica y Comunicación Programación para Web Capítulo 5: DOM Por: Ibarra Ivana, Martínez Nemecio y Pinto Ana M. Junio 2012
  • 2. CONTENIDO 5. DOM 5.1. Árbol de nodos 5.2. Tipos de nodos 5.3. Acceso directo a los nodos 5.3.1. getElementsByTagName() 5.3.2. getElementsByName() 5.3.3. getElementById() 5.4. Creación y eliminación de nodos 5.4.1. Creación de elementos XHTML simples 5.4.2. Eliminación de nodos 5.5. Acceso directo a los atributos XHTML Conclusiones Bibliografía
  • 3. Definición de DOM DOM permite a los programadores web acceder y manipular las páginas XHTML como si fueran documentos XML. De hecho, DOM se diseñó originalmente para manipular de forma sencilla los documentos XML. Volver
  • 4. Árbol de nodos Una de las tareas habituales en la programación de aplicaciones web con JavaScript consiste en la manipulación de las páginas web. Todas estas tareas habituales son muy sencillas de realizar gracias a DOM. Sin embargo, para poder utilizar las utilidades de DOM, es necesario "transformar" la página original. Volver
  • 5. Continuación de Árbol de nodos DOM transforma todos los documentos XHTML en un conjunto de elementos llamados nodos, que están interconectados y que representan los contenidos de las páginas web y las relaciones entre ellos. Por su aspecto, la unión de todos los nodos se llama "árbol de nodos". Volver
  • 6. La transformación automática de la página en un árbol de nodos siempre sigue las mismas reglas: Las etiquetas XHTML se • Si una etiqueta XHTML transforman en dos nodos: se encuentra dentro de el primero es la propia otra, se sigue el mismo etiqueta y el segundo nodo procedimiento es hijo del primero y anterior, pero los nodos consiste en el contenido generados serán nodos textual de la etiqueta. hijo de su etiqueta padre. Volver
  • 7. 5.2. Tipos de nodos Las páginas XHTML habituales se pueden manipular manejando solamente cuatro o cinco tipos de nodos: • Document, nodo raíz del que derivan todos los demás nodos del árbol. • Element, representa cada una de las etiquetas XHTML.  Attr, se define un nodo de este tipo para representar cada uno de los atributos de las etiquetas XHTML, es decir, uno por cada par atributo=valor.  Text, nodo que contiene el texto encerrado por una etiqueta XHTML.  Comment, representa los comentarios incluidos en la página XHTML. Volver
  • 8. 5.3. Acceso directo a los nodos Una vez construido automáticamente el árbol completo de nodos DOM, ya es posible utilizar las funciones DOM para acceder de forma directa a cualquier nodo del árbol. DOM proporciona dos métodos alternativos para acceder a un nodo específico: acceso a través de sus nodos padre y acceso directo. Sin embargo, cuando se quiere acceder a un nodo específico, es mucho más rápido acceder directamente a ese nodo y no llegar hasta él descendiendo a través de todos sus nodos padre. Volver
  • 9. 5.3.1. getElementsByTagName() La función getElementsByTagName(nombreEtiqueta) obtiene todos los elementos de la página XHTML cuya etiqueta sea igual que el parámetro que se le pasa a la función. El siguiente ejemplo muestra cómo obtener todos los párrafos de una página XHTML: var parrafos = document.getElementsByTagName("p"); En este caso, como se quieren obtener todos los párrafos de la página, se utiliza el valor document como punto de partida de la búsqueda. Volver
  • 10. Continuación de getElementsByTagName() De este modo, se puede obtener el primer párrafo de la página de la siguiente manera: var primerParrafo = parrafos[0]; De la misma forma, se podrían recorrer todos los párrafos de la página con el siguientecódigo: for(var i=0; i<parrafos.length; i++) { var parrafo = parrafos[i]; } La función getElementsByTagName() se puede aplicar de forma recursiva sobre cada uno de los nodos devueltos por la función. Volver
  • 11. 5.3.2. getElementsByName() En este caso se buscan los elementos cuyo atributo name sea igual al parámetro proporcionado. En el siguiente ejemplo, se obtiene directamente el único párrafo con el nombre indicado: var parrafoEspecial = document.getElementsByName("especial"); <p name="prueba">...</p> <p name="especial">...</p> <p>...</p> Normalmente el atributo name es único para los elementos HTML que lo definen, por lo que es un método muy práctico para acceder directamente al nodo deseado. Volver
  • 12. 5.3.3. getElementById() La función getElementById() es la más utilizada cuando se desarrollan aplicaciones web dinámicas. Se trata de la función preferida para acceder directamente a un nodo y poder leer o modificar sus propiedades. La función getElementById() devuelve el elemento XHTML cuyo atributo id coincide con el parámetro indicado en la función. Como el atributo id debe ser único para cada elemento de una misma página, la función devuelve únicamente el nodo deseado. Volver
  • 13. Continuación de getElementById() Ejemplo: var cabecera = document.getElementById("cabecera"); <div id="cabecera"> <a href="/" id="logo">...</a> </div> La función getElementById() es tan importante y tan utilizada en todas las aplicaciones web, que casi todos los ejemplos y ejercicios que siguen la utilizan constantemente. Volver
  • 14. 5.4. Creación y eliminación de nodos Acceder a los nodos y a sus propiedades es sólo una parte de las manipulaciones habituales en las páginas. Las otras operaciones habituales son las de crear y eliminar nodos del árbol DOM, es decir, crear y eliminar "trozos" de la página web. Volver
  • 15. 5.4.1. Creación de elementos XHTML simples Un elemento XHTML sencillo, como por ejemplo un párrafo, genera dos nodos: el primer nodo es de tipo Element y representa la etiqueta <p> y el segundo nodo es de tipo Text y representa el contenido textual de la etiqueta <p>. Por este motivo, crear y añadir a la página un nuevo elemento XHTML sencillo consta de cuatro pasos diferentes: 1. Creación de un nodo de tipo Element que represente al elemento. 2. Creación de un nodo de tipo Text que represente el contenido del elemento. 3. Añadir el nodo Text como nodo hijo del nodo Element. 4. Añadir el nodo Element a la página, en forma de nodo hijo del nodo correspondiente al lugar en el que se quiere insertar el elemento. Volver
  • 16. El proceso de creación de nuevos nodos puede llegar a ser tedioso, ya que implica la utilización de tres funciones DOM: createElement(etiqueta): crea un nodo de tipo Element que representa al elemento XHTML cuya etiqueta se pasa como parámetro. createTextNode(contenido): crea un nodo de tipo Text que almacena el contenido textual de los elementos XHTML. nodoPadre.appendChild(nodoHijo): añade un nodo como hijo de otro nodo. Volver
  • 17. 5.4.2. Eliminación de nodos Afortunadamente, eliminar un nodo del árbol DOM de la página es mucho más sencillo que añadirlo. En este caso, solamente es necesario utilizar la función removeChild(): var parrafo = document.getElementById("provisional"); parrafo.parentNode.removeChild(parrafo); <p id="provisional">...</p> Para eliminar un nodo de una página XHTML se invoca a la función removeChild() desde el valor parentNode del nodo que se quiere eliminar. Cuando se elimina un nodo, también se eliminan automáticamente todos los nodos hijos que tenga, por lo que no es necesario borrar manualmente cada nodo hijo. Volver
  • 18. 5.5. Acceso directo a los atributos XHTML Una vez que se ha accedido a un nodo, el siguiente paso natural consiste en acceder y/o modificar sus atributos y propiedades. Mediante DOM, es posible acceder de forma sencilla a todos los atributos XHTML y todas las propiedades CSS de cualquier elemento de la página. Los atributos XHTML de los elementos de la página se transforman automáticamente en propiedades de los nodos. Para acceder a su valor, simplemente se indica el nombre del atributo XHTML detrás del nombre del nodo. Volver
  • 19. El siguiente ejemplo obtiene de forma directa la dirección a la que enlaza el enlace: var enlace = document.getElementById("enlace"); alert(enlace.href); // muestra http://www...com <a id="enlace" href="http://www...com">Enlace</a> Las propiedades CSS no son tan fáciles de obtener como los atributos XHTML. Para obtener el valor de cualquier propiedad CSS del nodo, se debe utilizar el atributo style. El siguiente ejemplo obtiene el valor de la propiedad margin de la imagen: var imagen = document.getElementById("imagen"); alert(imagen.style.margin); <img id="imagen" style="margin:0; border:0;" src="logo.png" /> Volver
  • 20. El único atributo XHTML que no tiene el mismo nombre en XHTML y en l as propiedades DOM es el atributo class. Como la palabra class está reservada por JavaScript, no es posible utilizarla para acceder al atributo class del elemento XHTML. En su lugar, DOM utiliza el nombre className para acceder al atributo class de XHTML: var parrafo = document.getElementById("parrafo"); alert(parrafo.class); // muestra "undefined" alert(parrafo.className); // muestra "normal" <p id="parrafo" class="normal">...</p> Volver
  • 21. Conclusiones DOM es la estructura de objetos que genera el navegador cuando se carga un documento y se puede alterar mediante Javascript para cambiar dinámicamente los contenidos y aspecto de la página. Los objetos del DOM modelizan tanto la ventana del navegador como el historial, el documento o página web, y todos los elementos que pueda tener dentro la propia página, como párrafos, divisiones, tablas, formularios y sus campos, etc. DOM no sólo permite modificar páginas web en HTML, sino también documentos XML. Volver
  • 22. Bibliografía Introducción a JavaScript. Autor: Javier Eguíluz Pérez Volver