|
EsArticleNodeEssentials
COMO tratar con nodos DOM (goog.dom.NodeType, goog.dom.getNextElementNode, goog.dom.isNodeLike)
Este artículo introduce algunas constantes y funciones útiles para lidiar con nodos DOM. El CódigoEnumeración para tipos de nodo DOM (para referencia)
goog.dom.NodeType = {
ELEMENT: 1,
ATTRIBUTE: 2,
TEXT: 3,
CDATA_SECTION: 4,
ENTITY_REFERENCE: 5,
ENTITY: 6,
PROCESSING_INSTRUCTION: 7,
COMMENT: 8,
DOCUMENT: 9,
DOCUMENT_TYPE: 10,
DOCUMENT_FRAGMENT: 11,
NOTATION: 12
};Retorna el primer nodo hijo que esta dentro de un elemento.
goog.dom.getNextElementNode_ = function(nodo, forward) {
while (nodo && nodo.nodeType != goog.dom.NodeType.ELEMENT) {
nodo = forward ? node.nextSibling : node.previousSibling;
}
return nodo;
};Revisa si el objeto parece un nodo DOM
goog.dom.isNodeLike = function(obj) {
return goog.isObject(obj) && obj.nodeType > 0;
};La ruta del CódigoPrimero definimos una enumeración de los diferentes tipos de nodo, como son ELEMENT o ATTRIBUTE. Estos no son aleatorios; estos valores están definidos en la especificación DOM y son retornados por propiedades como node.nodeType. goog.dom.NodeType = {
ELEMENT: 1,
ATTRIBUTE: 2,
TEXT: 3,
CDATA_SECTION: 4,
ENTITY_REFERENCE: 5,
ENTITY: 6,
PROCESSING_INSTRUCTION: 7,
COMMENT: 8,
DOCUMENT: 9,
DOCUMENT_TYPE: 10,
DOCUMENT_FRAGMENT: 11,
NOTATION: 12
};Si necesitas hacer una revisión sanitaria para determinar que una variable es actualmente un nodo DOM, la función goog.dom.isNodeLike puede hacerlo: goog.dom.isNodeLike = function(obj) {
return goog.isObject(obj) && obj.nodeType > 0;
};Para leer más |
Sign in to add a comment
