Diferencia entre revisiones de «Usuario:ManuelRomero/JavaScript/dom/domJS»
De WikiEducator
< Usuario:ManuelRomero | JavaScript | dom
(→Qué se puede hacer en JavaScript) |
|||
(5 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 3: | Línea 3: | ||
__TOC__ | __TOC__ | ||
===DOM=== | ===DOM=== | ||
− | + | ||
<div class="slide"> | <div class="slide"> | ||
====Qué es el DOM==== | ====Qué es el DOM==== | ||
Línea 52: | Línea 52: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
Línea 76: | Línea 58: | ||
elementos | elementos | ||
atributos | atributos | ||
− | + | estilos css | |
;Pemite añadir y eliminar elementos y atributos dentro de la página | ;Pemite añadir y eliminar elementos y atributos dentro de la página | ||
;Permite reaccionar ante cualquier evento | ;Permite reaccionar ante cualquier evento | ||
Línea 94: | Línea 76: | ||
}} | }} | ||
− | ==== | + | ====Acceso a los nodos==== |
+ | Entendemos por nodo cada uno de los elementos que puedo tener en una página html | ||
+ | *Así por ejemplo un image es un nodo, un párrafo un formulario etc. | ||
+ | *Lo primero qu tenemos que hacer para poder obtener información o realizar acciones sobre un nodo es acceder a él | ||
+ | *A continuación vamos a ver diferentes formas de acceder a un nodo o elemento | ||
+ | {{Puntos clave | ||
+ | |Title=Accedieno a nodo por document| | ||
+ | #document.getElementById(id) encuentra el elemento a través del valor del atributo '''''id''''' | ||
+ | #document.getElementsByTagName(name) encuentra el elemento a través del tag (p, form, imge, ...) | ||
+ | #document.getElementsByClassName(name) encuentra el elemento a través del valor del atributo '''''name''''' | ||
+ | }} | ||
+ | *En caso de haber muchos elementos vamos a obtener un array con todos ellos | ||
+ | |||
+ | {{Actividad| | ||
+ | Title=buscar elementos "p" de una página| | ||
<source lang="javascript"> | <source lang="javascript"> | ||
− | // | + | //buscaremos todos los parrafos a partir del elemento document |
− | var | + | var parrafos = document.getElementsByTagName("p"); |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | var primerParrafo = parrafos[0]; | ||
+ | |||
+ | for(var i=0; i<parrafos.length; i++) { | ||
+ | var parrafo = parrafos[i]; | ||
+ | } | ||
</source> | </source> | ||
− | </ | + | }} |
+ | |||
+ | [[a]]{{Actividad| | ||
+ | *Vamos a hacer un programa que me muestre todos los elementos que tiene mi página | ||
+ | *Lo vamos a hacer creando una función | ||
+ | [[Usuario:ManuelRomero/JavaScript/dom/domJS/ejemplo1|<font size=3 color=red>Solución</font>]] | ||
+ | }} | ||
+ | ===Accediendo y modificando sus atributos=== | ||
+ | *Una vez hemos localizado un elemento, tendremos que poder modificar desde el programa valores para que se puedan ver las acciones a realizar | ||
+ | element= document.getElementsById("x"); | ||
+ | *element.innerHTML = Pone un nuevo contendio en el interior del elemento html | ||
+ | *element.attribute = Pone un valor del atributo especificado de un elemento concreto | ||
+ | *element.setAttribute(attribute, value) Igual que el caso anterior | ||
+ | *element.style.property = new style Cambia el estilo del elementos html especificado | ||
+ | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
====Acceso directo a atributos==== | ====Acceso directo a atributos==== | ||
<source lang="javascript"> | <source lang="javascript"> | ||
Línea 166: | Línea 165: | ||
<div class="slide"> | <div class="slide"> | ||
− | ==== | + | |
− | <source lang=" | + | |
− | + | ====Creación de nodos==== | |
− | + | <source lang="javascript"> | |
− | + | // Crear nodo de tipo Element | |
− | + | var parrafo = document.createElement("p"); | |
− | + | // Crear nodo de tipo Text | |
− | + | var contenido = document.createTextNode("Hola Mundo!"); | |
− | + | // Añadir el nodo Text como hijo del nodo Element | |
− | + | parrafo.appendChild(contenido); | |
− | + | // Añadir el nodo Element como hijo de la pagina | |
− | + | document.body.appendChild(parrafo); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</source> | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ====Eliminación de nodos==== | ||
+ | <source lang="javascript"> | ||
+ | var parrafo = document.getElementById("provisional"); | ||
+ | parrafo.parentNode.removeChild(parrafo); | ||
+ | |||
+ | <p id="provisional">...</p> | ||
+ | |||
+ | </source> | ||
</div> | </div> | ||
+ | <div class="slide"> |
Última revisión de 02:10 11 mar 2016