You are on page 1of 53
Modelo de objetos del documento en javascript. #9 Caso practico Ree a Mu ee ee a proyecto. Por ejemplo, ya ha realizado casi toda la Neen eR cru ee Pa On elaoR i eee Ser MM Sure Mea Coen Mem Re ue MAC een Cot cet ns urate ete cgi Eta Se icone Reo nominee eg Ceca ee CM ecco a cee aT emcee Orcas aL) tablas, afiadir 0 modificar atributos a elementos, modificar contenido textual de Crete tC Renan ccm me en on Saiat Juan le informa que todo eso que solicita se puede hacer con JavaScript, pero tendra que hacer uso del DOM de una forma mas intensiva, El DOM organiza todo el documento en una especie de arbol de elementos, de tal forma que, a través de REN Ser ee eee Ree MR oes Maes eae esa ce ee aa ies ON Me emer a ome eM melee es ei el érbol de nodos, es refiejado de forma automética por el navegador web, con lo Ciel Saeco sae eke ela Por titimo, Antonio pregunta si es posible detectar qué botones del ratén han sido ee eo m cama Rn ie nce hoo mK Pea eRe de Reese teR ocd ogc e unt peek mets) RC enone et sac ecto e oe er ie tca ce RC ie ce a Ren ecu Roe keen eet Krone were tun Sere Re ce Ne Eee cok a Re ota eC CCN ne Mc Ree Osan Mn Ce coc ar ao eee eM eee eteen rane Mota ean co scae Retoe ste ae Ly Pee ett Ret ane Rete Re Meee cee eat fete ee crm net MMe cco OMe eco et mt Pees cues oooh La eM CMs eon Reo Tenet ee ae ene en Ns ce ONE Reem ceed cde go navegadores. eee Peete Maree ee MOM at aR SS Eo Bee Monet ie oc olo-ltacmole el mcos Mel Mc Moves Merc Me Mul mccer- acme! Tener i A aC ible a de Serene iy ewes ek 1het eM Sue me oa Re Me i Mec eee tee -ae) tea coe Le Yl elec | l aT ) a 1.1.- Objetos del DOM HTML, propiedades y métodos. VRRP H PAPA HPYWWHWWPHP ©9 Debes conocer Le Citas para pensar Set eae et ie Oe a tech ra PUT 1.2.- El arbol del DOM y tipos de nodos. 1.3.- Acceso a los nodos. Marz Pee Neste Mego Met AV wel -c-t PCM tcc merck: Sj slo tenemos un elemento con name="apellidos" para acceder a é| haremos: var elemento = document. getElementsByName(“apellidos")(0); Por ejemplo, si tuviéramos 3 elementos con el atributo name="apellidos" para acceder al segundo elemento harlamos: var segundo = document.getlementsByName("apellidos")[1]; //, recordarte que los arrays comienzan en la posicién 0. Lo que nos permiten estas colecciones de elementos, es el poder recorrerlas facilmente empleando un bucle, por ejemplo: for (var jel; jedocument getElementsyName"apelidos’) length; j++) {( varclemento = document getElementsByNamo(‘apellidos"jly } -getElementsByTagName() Esta funcién es muy similar a la anterior y también devuelve una colecoién de elementos cuya etiqueta XHTML coincida con la que se pasa como parémetro. Por ejemplo: var elementos = document getFlementsByTagName("inpat"); 11 Bste array de elementos contended todas los elementos input del documento. var cuarta = document getBlementsByTagName("inpt")[3] -getElementByld() Esta funcién es la mas utilzada, ya que nos permite acceder directamente al elemento por el ID. Entre paréntesis escribiremos la cadena de texto con el ID. Es muy importante que el ID sea unico para cada elemento de una misma pagina. La funcién nos devolverd Unicamente el nodo buscado. Por ejemplo: var elemento= document getElement By1d(*apellidos"); Si tenemos por ejemplo una tabla con id="datos" y queremos acceder a todas las celdas de esa tabla, tendriamos que combinar getElementByld con getElementsByTagName. Por ejemplo: ‘var miTabla= document getlementB yd" datos var filas= miTabla getlementsByTagName(* v 1.4.- Acceso a los nodos de tipo atributo. 1.5.- Acceso a los nodos de tipo texto. Modu co.mNc.sa Yl eee Bela) Lc} 1.6.- Creacion y borrado de nodos. Ejemplo de creacién de elementos insercién en el documento: ‘1iCreamos tes elementos nuevos: pb. br var elementoP = document createElement(p); var clementoB = documentcreateElement(); var elementoBR = document createElement(br); ‘Me asignamos un nuevo atibuto ttle al elementoP que hemos creado. ‘elementoP setAttribute(tile!,Parrafo creado desde JavaScript’); ‘UPreparamos los nodos de texto var extol = document.createTextNode(Con JavaScript se) var texto? = document.createTextNodet'pueden realizar’ var texto3 = document cresteTextNode(/un monton’); document.createTextNode de cosas sobre el documento); ‘11Afiadimos al elemento B los nodos de texto2, elemento BR y texto3, addEventlListener(evento, funcion, truelfalse} tenemos la opcién de indicar cuando queremos que se dispare el evento: ® on la fase de captura (, , true) © enla fase de burbujeo (, , false) * También disponemos de un nuevo método para cancelar eventos con preventDefault, y de un método para detener la propagacién de eventos en la fase de burbujeo, con stopPropagation(). Corer) ure Descripcién | Burbujea | 5° Puede PTT cod Perce dbiclick Cue Cert CC cc oeke] botén del raton sobre un Preneasy mousedownmouseup TRO) botén del ratén error) Peet ea Cag Ta ec Peet Cae Cre tay fore) ecm nee Reet Cen Cite g fore) enon) de un Cem) Pew rany Neeliae a) Ceetnny modificar el een cane ke one Cuando se Cece) carga de un ro oan) cargado, Cuando se eect) carga de un emo cal (ote) cory ees oy un documento. ando nos ene ees os Cea) cee Yl eee el aT) DO nL Rea ete Re NM see eeu Eo ane Dd 2.3.- El objeto Event. ETC PCa Ped shift en el r CEU) Por Tere) Oar ag Te eee ene) to) mientras que target de aT a Reels (CIT are kero} que est Sone) ee) luta o relativams aia ge erate PageX, pageY POEs screenX, screenY Peer Seems Pa) Aer Ket Itsy je, excepto Pee eri Peace oe = rN 1p eee Baer} re divA que n divB hijo. Cuando Meencer: ree Nets Petes eur ae ete aa Te enone Nae) Eales oe 2.3.2.- Eventos del teclado en JavaScript. ‘
label for="nombre"> Nombre: