Categorías
- adsense
- blogging
- consumo
- desarrollo y programación
- .htaccess
- .net
- ajax
- ajax.net
- ant
- apache
- ascii
- bases de datos
- bbpress
- css
- delphi
- dom
- dreamweaver
- eclipse
- emule
- expr. regulares
- firefox
- formularios web
- ftp
- gmail
- google-gwt
- hibernate
- html
- iis
- internet explorer
- java
- javascript
- librerias
- linux
- microformats
- ofimática
- php
- servicios web
- ssl
- ubuntu
- vbscript
- wiki
- wordpress
- xampp
- xml
- hardware
- hogar
- matemáticas
- motos
- ofertas
- opinión
- salud
- sin categoría (todavía)
- sistemas operativos
- tecnologia
- tramites y legislación
Mi chuleta de Javascript: manipular DOM y CSS
Esto es un compendio, chuletario, o cheat sheet (hay que ser modernos) de métodos y propiedades disponibles en javascript, así como trucos varios y consejos para hacer más cross-browser nuestras aplicaciones.
Manipular la estructura DOM: resumen de métodos
Este apartado es un resumen de todos los métodos para acceder y manipular la estructura DOM de un documento mediante los métodos disponibles. Obviamente hay técnicas y funciones disponibles (aqui voy recopilando algunas) para hacer más compatible nuestras aplicaciones, pues no todos los métodos son igualmente soportados por todos los navegadores. Por cierto, en cuestión de compatibilidad y accesibilidad, no te olvides del fantástico sitio Quirksmode.org.
Encontrar los elementos de un documento
document.getElementById('id'): Devuelve el elemento con el id iddocument.getElementsByTagName('tagname'): Devuelve en un array de tipo lista todos los elementos del tipo o con la etiqueta) name.Leer atributos de elementos, valores de nodo, y otros datos del nodo
node.getAttribute('attribute'): Devuelve el valor del atributo attribute del nodo node.node.setAttribute('attribute', 'value'): Asigna el valor value al atributo attribute del nodo node.node.nodeType: Lee el tipo del nodo node (1 = elemento, 3 = nodo de texto)node.nodeName: Lee el nombre del nodo node (o el nombe del elemento, o #textNode)node.nodeValue: Lee o asigna el valor del nodo node (el texto de contenido en el caso de nodos de texto)Navegar entre nodos
node.previousSibling: Devuelve el nodo homólogo previo y lo almacena como un objeto.node.nextSibling: Devuelve el nodo homólogo siguiente lo almacena como un objeto.node.childNodes: Devuelve todos los nodos hijos y los almacena en una lista. Hay atamos para el primero y el último hijo, llamados node.firstChild y node.lastChild.node.parentNode: Devuelve el nodo que contiene a node.Crear nuevos nodos
document.createElement(element): Crea un nuevo nodo con el nombre element (se le pasa como cadena).document.createTextNode(string): Crea un nuevo nodo de texto con el valor string.newNode = node.cloneNode(bool): Crea newNode como una copia o clon de node. Si bool es true, el clon incluye clones de todos los nodos hijos del original.node.appendChild(newNode): Añade newNode como un nuevo nodo hijo de node (después de el resto de hijos).node.insertBefore(newNode, oldNode): Inserta newNode como un nodo hijo de node y antes de oldNode.node.removeChild(oldNode): Elimina el nodo hijo oldNode de node.node.replaceChild(newNode, oldNode): Reemplaza el nodo hijo oldNode de node con newNode.element.innerHTML: Lee o escribe el contenido HTML del elemento element como una cadena -incluyendo todos los nodos hijos con sus atributos y contenido de texto-.Manipular la estructura DOM: trucos y buenas prácticas
Este test es no obstructivo en sí, pero también convierte en no obstrutivo a nuestro código: si no lo soporta deja de ejecutarse. Utilizarla siempre en las funciones que primero se ejecuten (inicialización, et.).
Manipular la presentación CSS: resumen de métodos
Lo siguiente es un resumen de las propiedades disponibles que se corresponden con los atributos CSS que definen el estilo de los elementos.
background, backgroundAttachment, backgroundColor, backgroundImage, backgroundPosition,ybackgroundRepeatorder, borderBottom, borderTop, borderLeft, borderRight,y para cada uno de su estilo, width,ycolorcolor, direction, display, visibility, letterSpacing, lineHeight, textAlign, textDecoration, textIndent, textTransform, wordSpacing, letterSpacingmargin, padding (y para cada unotop, left, bottom,yright)width, height, minWidth, maxWidth, minHeight, maxHeightcaptionSide, emptyCells, tableLayout, verticalAligntop, bottom, left, right, zIndex, cssFloat, position, overflow, clip, clearlistStyle, listStyleImage, listStylePosition, listStyleTypefont, fontFamily, fontSize, fontStretch, fontStyle, fontVariant, fontWeightxTrucos y buenas prácticas para manipular la presentación
classNameya que los atributosclassostyleno son soportados por algunos navegadores. El nombres del atributo esclassNameya queclasses una palabra reservada de javascript. Un ejemplo de asignación dinámica:var n=document.getElementById('nav');n.className='dynamic';
removeAttribute()no es fiable entre los diferentes navegadores..off-left { position:absolute; left:-999px; width:990px; }Otros artículos de esta serie: