En el desarrollo de aplicaciones web, especialmente los programas Web2.0, a menudo es necesario obtener un elemento en la página y luego actualizar el estilo, el contenido, etc. del elemento. Cómo hacer que se actualicen los elementos es el primer problema que se resuelve. Es gratificante que haya muchas formas de obtener nodos usando JavaScript. Aquí hay un breve resumen (los siguientes métodos se probaron en IE7 y Firefox 2.0.0.11):
1. Obtenga el nodo de documento de nivel superior:
(1) Document.getElementById (ElementId): Este método puede obtener con precisión los elementos requeridos a través de la ID del nodo, que es un método relativamente simple y rápido. Si la página contiene múltiples nodos con la misma ID, solo se devuelve el primer nodo.
Hoy en día, han aparecido múltiples bibliotecas de JavaScript como Prototype y Mootols, que proporcionan un método más simple: $ (ID), y el parámetro sigue siendo la ID del nodo. Este método puede considerarse como
Otra forma de escribir document.getElementById (), pero la función de $ () es más poderosa. Para un uso específico, consulte sus respectivos documentos API.
(2) document.getElementsByName (ElementName): este método obtiene el nodo a través del nombre del nodo. Del nombre, se puede ver que este método no devuelve un elemento de nodo, sino una matriz de nodos con el mismo nombre. Luego, podemos recorrer el atributo del nodo para obtener un bucle para determinar si es el nodo requerido.
Por ejemplo: en HTML, la casilla de verificación y la radio usan el mismo valor de atributo de nombre para identificar elementos en un grupo. Si queremos obtener el elemento seleccionado ahora, primero obtenemos el elemento barajado y luego bucle para determinar si el valor de atributo verificado del nodo es verdadero.
(3) document.getElementsBytagName (tagName): este método obtiene el nodo a través de la etiqueta del nodo, y el método también devuelve una matriz, por ejemplo:
document.getElementsBytagName ('a') devolverá todos los nodos de hipervínculos en la página. Antes de adquirir un nodo, generalmente conoce el tipo de nodo, por lo que usar este método es relativamente simple. Pero la desventaja también es obvia, es decir, la matriz devuelta puede ser muy grande, lo que perderá mucho tiempo. Entonces, ¿es este método inútil? Por supuesto que no. Este método es diferente de los dos anteriores. No es un método propietario de nodos de documentos. También se pueden aplicar otros nodos, como se menciona a continuación.
2. Obtenga el nodo principal:
(1) Parentobj.FirstChild: este método se puede usar si el nodo es el primer hijo de un nodo conocido (ParentObj). Esta propiedad se puede utilizar de manera recursiva, lo que significa que es compatible
parentobj.firstchild.firstchild.firstchild ..., para que pueda obtener nodos más profundos.
(2) Parentobj.lastchild: Obviamente, esta propiedad es el último nodo secundario del nodo conocido (Parentobj). Al igual que FirstChild, se puede usar recursivamente.
En uso, si combinamos los dos, lograremos un efecto más emocionante, a saber: Parentobj.firstchild.lastchild.lastchild ...
(3) Parentobj.childnodes: Obtenga la matriz de nodos infantiles de nodos conocidos, y luego puede encontrar los nodos requeridos a través de bucles o índices.
Nota: Después de la prueba, se descubrió que la matriz de nodos directos de niños se obtiene en IE7, mientras que la matriz de nodos infantiles se obtiene en Firefox2.0.0.11 son todos los nodos infantiles, es decir, nodos infantiles que incluyen nodos infantiles.
(4) ParentObj.Children: Obtenga la matriz directa del nodo infantil de los nodos conocidos.
Nota: Después de la prueba, en IE7, el efecto es el mismo que los nodados de los niños, pero Firefox 2.0.0.11 no lo admite. Esta es también la razón por la que quiero usar diferentes estilos de otros métodos. Por lo tanto, no se recomienda usar.
(5) Parentobj.getElementsBytagName (TagName): el método de uso no se repetirá, devuelve una matriz de nodos infantiles de un nodo conocido con un valor especificado entre todos los nodos infantiles de un nodo conocido. Por ejemplo:
Parentobj.getElementsBytagName ('A') devuelve todos los hipervínculos en nodos infantiles conocidos.
3. Obtenga a través de nodos adyacentes:
(1) vecinos. Esta propiedad parece usarse recursivamente, al igual que el FirstChild y Lastchild en los anteriores.
(2) vecinos.
4. Obtenga a través de nodos infantiles:
(1) ChildNode.ParentNode: Obtenga el nodo principal de un nodo conocido.
Los métodos mencionados anteriormente son solo algunos métodos básicos. Si usa bibliotecas JavaScript como el prototipo, también puede obtener otros métodos diferentes, como la adquisición de clases a través de nodos, etc. Sin embargo, si los métodos anteriores se pueden usar de manera flexible, creo que la mayoría de los procedimientos deberían poder hacer frente.