Professional Documents
Culture Documents
<body>
<p>Esta pgina es <strong>muy sencilla</strong></p>
</body>
</html>
Se transforma en el siguiente rbol de nodos:
Unidad V: Automatizacin de Formularios
DOM
rbol de nodos
Document, nodo raz del que derivan todos los dems nodos del rbol.
Element, representa cada una de las etiquetas XHTML. Se trata del
nico nodo que puede contener atributos y el nico del que pueden
derivar otros nodos.
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 pgina XHTML.
getElementsByTagName()
Como sucede con todas las funciones que proporciona DOM, la funcin
getElementsByTagName() tiene un nombre muy largo, pero que lo hace
autoexplicativo.
La funcin getElementsByTagName(nombreEtiqueta) obtiene todos los
elementos de la pgina XHTML cuya etiqueta sea igual que el parmetro
que se le pasa a la funcin.
getElementsByTagName()
getElementsByName()
<p name="prueba">...</p>
<p name="especial">...</p>
<p>...</p>
Unidad V: Automatizacin de Formularios
DOM
Acceso directo a los nodos
getElementsByName()
getElementById()
getElementById()
<div id="cabecera">
<a href="/" id="logo">...</a>
</div>
Las propiedades CSS no son tan fciles 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:
Escribir...
document.forms[0];
document.forms[0].elements[0];
<form name="formulario">
<input type="text" name="elemento" />
</form>
type: indica el tipo de elemento que se trata. Para los elementos de tipo
<input> (text, button, checkbox, etc.) coincide con el valor de su
atributo type. Para las listas desplegables normales (elemento
<select>) su valor es select-one, lo que permite diferenciarlas de las
listas que permiten seleccionar varios elementos a la vez y cuyo tipo es
select-multiple. Por ltimo, en los elementos de tipo <textarea>,
el valor de type es textarea.
obtiene el texto que ha escrito el usuario. Para los botones obtiene el texto
function manejadorEventos(elEvento) {
var evento = elEvento;
}
function manejadorEventos(elEvento) {
var evento = elEvento || window.event;
}
function resalta(elEvento) {
var evento = elEvento || window.event;
switch(evento.type) {
case 'mouseover':
this.style.borderColor = 'black';
break;
case 'mouseout':
this.style.borderColor = 'silver';
break;
}
}
window.onload = function() {
document.getElementById("seccion").onmouseover=resalta;
document.getElementById("seccion").onmouseout=resalta;
Unidad
} V: Automatizacin de Formularios
Propiedades y Eventos de Formularios
Obteniendo informacin del evento (objeto event):
Adems, existen tres eventos diferentes para las pulsaciones de las teclas
(onkeyup, onkeypress y onkeydown). Por ltimo, existen dos tipos de
teclas: las teclas normales (como letras, nmeros y smbolos normales)
y las teclas especiales (como ENTER, Alt, Shift, etc.)
window.onload = function() {
document.onkeyup = muestraInformacion;
document.onkeypress = muestraInformacion;
document.onkeydown = muestraInformacion;
}
function muestraInformacion(elEvento) {
var evento = window.event || elEvento;
info.innerHTML += "<br>--------------------------------------<br>"
+ mensaje
}
<div id="info"></div>
Unidad V: Automatizacin de Formularios
Propiedades y Eventos de Formularios
Obteniendo informacin del evento (objeto event):
if(evento.altKey) {
alert('Estaba pulsada la tecla ALT');
}
function muestraInformacion(elEvento) {
var evento = elEvento || window.event;
var coordenadaX = evento.clientX;
var coordenadaY = evento.clientY;
alert("Has pulsado el ratn en la posicin: "
+ coordenadaX + ", " + coordenadaY);
}
document.onclick = muestraInformacion;
Unidad V: Automatizacin de Formularios
Propiedades y Eventos de Formularios
Obteniendo informacin del evento (objeto event):
Escribir...