Skip to content

Commit a5db7b4

Browse files
authored
Update article.md
/done
1 parent e3417cb commit a5db7b4

1 file changed

Lines changed: 25 additions & 24 deletions

File tree

2-ui/1-document/02-dom-nodes/article.md

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@ Ejecutar el siguiente código hará que el `<body>` sea de color rojo durante 3
1919
```js run
2020
document.body.style.background = 'red'; // establece un color de fondo rojo
2121

22-
setTimeout(() => document.body.style.background = '', 3000); // devolución
22+
setTimeout(() => document.body.style.background = '', 3000); // volver atrás
2323
```
2424

2525
En el caso anterior usamos `style.background` para cambiar el color de fondo del `document.body`, sin embargo existen muchas otras propiedades, tales como:
2626

2727
- `innerHTML` -- contenido HTML del nodo.
28-
- `offsetWidth` -- anchura del nodo (en píxeles).
28+
- `offsetWidth` -- ancho del nodo (en píxeles).
2929
- ..., etc.
3030

3131
Más adelante, aprenderemos otras formas de manipular el DOM, pero primero necesitamos conocer su estructura.
3232

3333
## Un ejemplo del DOM
3434

35-
Comencemos con un documento sencillo, descrito a continuación:
35+
Comencemos con el siguiente documento simple:
3636

37-
```ejecución html sin formatear
37+
```html run no-beautify
3838
<!DOCTYPE HTML>
3939
<html>
4040
<head>
@@ -56,8 +56,9 @@ let node1 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,
5656
drawHtmlTree(node1, 'div.domtree', 690, 320);
5757
</script>
5858

59-
```conectado
60-
En la imagen de arriba, puedes hacer clic sobre los nodos del elemento y como resultado se expanden/colapsan sus nodos hijos.
59+
```online
60+
En la imagen de arriba, puedes hacer clic sobre los nodos del elemento y como resultado se expanden/colapsan sus nodos hijos.
61+
On the picture above, you can click on element nodes and their children will open/collapse.//////////////////////////
6162
```
6263

6364
Cada nodo del árbol es un objeto.
@@ -79,11 +80,11 @@ Hay solo dos excepciones de nível superior:
7980
1. Los espacios y líneas nuevas antes de la etiqueta `<head>` son ignorados por razones históricas.
8081
2. Si colocamos algo después de la etiqueta `</body>`, automáticamente se sitúa dentro de `body`, al final, ya que, la especificación HTML necesita que todo el contenido esté dentro de la etiqueta `<body>`, no puede haber espacios después de esta.
8182

82-
En otros casos todo es sencillo -- si hay espacios (como cualquier caracter) en el documento, se convierten en nodos de texto en el DOM, y si los eliminamos, entonces no habrá ninguno.
83+
En otros casos todo es sencillo -- si hay espacios (como cualquier carácter) en el documento, se convierten en nodos de texto en el DOM, y si los eliminamos, entonces no habrá ninguno.
8384

8485
En el siguiente ejemplo, no hay nodos de texto con espacios en blanco:
8586

86-
```html sin formatear
87+
```html no-beautify
8788
<!DOCTYPE HTML>
8889
<html><head><title>About elk</title></head><body>The truth about elk.</body></html>
8990
```
@@ -96,12 +97,12 @@ let node2 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,
9697
drawHtmlTree(node2, 'div.domtree', 690, 210);
9798
</script>
9899

99-
```cabecera inteligente="Los espacios al inicio/final de la cadena y los nodos de texto que solo contienen espacios en blanco, por lo general, están ocultos en las herramientas.
100-
Las herramientas del navegador (las veremos más adelante) que funcionan con DOM usualmente no muestran espacios al inicio/final del texto y nodos de texto vacíos (saltos de línea) entre etiquetas.
100+
```smart header="Los espacios al inicio/final de la cadena y los nodos de texto que solo contienen espacios en blanco, por lo general, están ocultos en las herramientas.
101+
Las herramientas del navegador (las veremos más adelante) que trabajan con DOM usualmente no muestran espacios al inicio/final del texto y nodos de texto vacíos (saltos de línea) entre etiquetas.
101102
102103
De esta manera, las herramientas para desarrolladores ahorran espacio en la pantalla.
103104
104-
En otras representaciones del DOM, las omitiremos cuando sean irrelevantes. Tales espacios generalmente no afectan la forma en la cual es mostrado el documento.
105+
En otras representaciones del DOM, las omitiremos cuando sean irrelevantes. Tales espacios generalmente no afectan la forma en la cual el documento es mostrado.
105106
```
106107

107108
## Autocorreción
@@ -110,7 +111,7 @@ Si el navegador encuentra HTML mal escrito, lo corrige automáticamente al const
110111

111112
Por ejemplo, la etiqueta superior siempre será `<html>`. Incluso si no existe en el documento, esta existirá en el DOM, puesto que, el navegador la creará. Sucede lo mismo con la etiqueta `<body>`.
112113

113-
Como ejemplo de esto, si el archivo HTML es la palabra `"Hello"`, el navegador lo envolverá con de las etiquetas `<html>` y `<body>`, y añadirá la etiqueta `<head>` la cual es requerida, basado en esto, el DOM resultante será:
114+
Como ejemplo de esto, si el archivo HTML es la palabra `"Hello"`, el navegador lo envolverá con las etiquetas `<html>` y `<body>`, y añadirá la etiqueta `<head>` la cual es requerida, basado en esto, el DOM resultante será:
114115

115116
<div class="domtree"></div>
116117

@@ -140,12 +141,12 @@ let node4 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,
140141
drawHtmlTree(node4, 'div.domtree', 690, 360);
141142
</script>
142143

143-
````cabecera de advertencia="Las tablas siempre tienen la etiqueta `<tbody>`"
144-
Un "caso especial" interesante son las tablas. De acuerdo a la especificación, DOM debe tener `<tbody>`, sin embargo, el texto HTML por convención puede omitir esto. Por lo tanto, el navegador crea automáticamente la etiqueta `<tbody>` en el DOM.
144+
````warn header="Las tablas siempre tienen la etiqueta `<tbody>`"
145+
Un "caso especial" interesante son las tablas. De acuerdo a la especificación DOM debe tener `<tbody>`, sin embargo, el texto HTML por convención puede omitir esto. Por lo tanto, el navegador crea automáticamente la etiqueta `<tbody>` en el DOM.
145146

146147
Para el HTML:
147148

148-
```html sin formatear
149+
```html no-beautify
149150
<table id="table"><tr><td>1</td></tr></table>
150151
```
151152

@@ -163,7 +164,7 @@ drawHtmlTree(node5, 'div.domtree', 600, 200);
163164
164165
## Otros tipos de nodos
165166
166-
Hay algunos otros tipos de nodos además de elementos y nodos de texto.
167+
Existen otros tipos de nodos además de elementos y nodos de texto.
167168
168169
Por ejemplo, los comentarios:
169170
@@ -177,7 +178,7 @@ Por ejemplo, los comentarios:
177178
*!*
178179
<!-- comentario -->
179180
*/!*
180-
<li>...and cunning animal!</li>
181+
<li>...y el astuto animal!</li>
181182
</ol>
182183
</body>
183184
</html>
@@ -186,7 +187,7 @@ Por ejemplo, los comentarios:
186187
<div class="domtree"></div>
187188
188189
<script>
189-
let node6 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n The truth about elk.\n "},{"name":"OL","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"An elk is a smart"}]},{"name":"#text","nodeType":3,"content":"\n "},{"name":"#comment","nodeType":8,"content":"comment"},{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"...and cunning animal!"}]},{"name":"#text","nodeType":3,"content":"\n "}]},{"name":"#text","nodeType":3,"content":"\n \n"}]}]};
190+
let node6 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n The truth about elk.\n "},{"name":"OL","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"An elk is a smart"}]},{"name":"#text","nodeType":3,"content":"\n "},{"name":"#comment","nodeType":8,"content":"comment"},{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"...y el astuto animal!"}]},{"name":"#text","nodeType":3,"content":"\n "}]},{"name":"#text","nodeType":3,"content":"\n \n"}]}]};
190191
191192
drawHtmlTree(node6, 'div.domtree', 690, 500);
192193
</script>
@@ -204,13 +205,13 @@ El objeto `document` que representa todo el documento es también, formalmente,
204205
Hay [12 tipos de nodos](https://dom.spec.whatwg.org/#node). En la práctica generalmente trabajamos con 4 de ellos:
205206
206207
1. `document` -- el "punto de entrada" en el DOM.
207-
2. nodos de elementos -- Etiquetas-HTML, los bloques construcción del árbol.
208+
2. nodos de elementos -- Etiquetas-HTML, los bloques de construcción del árbol.
208209
3. nodos de texto -- contienen texto.
209-
4. comentarios -- a veces podemos colocar ocasiones información allí, no se mostrará, pero JS puede leerla desde el DOM.
210+
4. comentarios -- a veces podemos colocar información allí, no se mostrará, pero JS puede leerla desde el DOM.
210211
211212
## Véalo usted mismo
212213
213-
Para ver la estructura del DOM en tiempo real, intente [visor en vivo del DOM](http://software.hixie.ch/utilities/js/live-dom-viewer/). Simplemente escriba el documento, y se mostrará como un DOM al instante.
214+
Para ver la estructura del DOM en tiempo real, intente [Live DOM Viewer] (http://software.hixie.ch/utilities/js/live-dom-viewer/). Simplemente escriba el documento, y se mostrará como un DOM al instante.
214215
215216
Otra forma de explorar el DOM es usando la herramienta para desarrolladores del navegador. En realidad, eso es lo que usamos cuando estamos desarrollando.
216217
@@ -220,20 +221,20 @@ Debe verse así:
220221
221222
![](elk.svg)
222223
223-
Puedes mirar el DOM, hacer clic sobre los elementos, ver sus detalles, etc.
224+
Puedes ver el DOM, hacer clic sobre los elementos, ver sus detalles, etc.
224225
225226
Tenga en cuenta que la estructura DOM en la herramienta para desarrolladores está simplificada. Los nodos de texto se muestran como texto. Y absolutamente no hay nodos de texto con espacios en blanco. Esto está bien, porque la mayoría de las veces nos interesan los nodos de elementos.
226227
227228
Hacer clic en el botón <span class="devtools" style="background-position:-328px -124px"></span> ubicado en la esquina superior izquierda nos permite elegir un nodo desde la página web utilizando un "mouse" (u otros dispositivos de puntero) e "inspeccionar" (desplazarse hasta él en la pestaña elementos). Esto funciona muy bien cuando tenemmos una página HTML enorme (y el DOM correspondiente es enorme) y nos gustaría ver la posición de un elemento en particular.
228229
229-
Otra forma de realizarlo sería hacer clic derecho en la página web y en el menú contextual elegir la opción "inspeccionar".
230+
Otra forma de realizarlo sería hacer clic derecho en la página web y en el menú contextual elegir la opción "Inspeccionar Elemento".
230231
231232
![](inspect.svg)
232233
233234
En la parte derecha de las herramientos encontramos las siguientes sub-pestañas:
234235
- **Styles** -- podemos ver CSS aplicado al elemento actual regla por regla, incluidas las reglas integradas (gris). Casi todo puede ser editado en el lugar, incluyendo las dimensiones/márgenes/relleno de la siguiente caja.
235236
- **Computed** -- nos permite ver cada propiedad CSS aplicada al elemento: para cada propiedad podemos ver la regla que la provee (inluida la herencia CSS y demás).
236-
- **Event Listeners** -- nos ayuda a ver los escuchadores de eventos adjuntos a elementos del DOM (los cubriremos en la siguiente parte del tutorial).
237+
- **Event Listeners** -- nos ayuda a ver los listener de eventos adjuntos a elementos del DOM (los cubriremos en la siguiente parte del tutorial).
237238
- ...,etc.
238239
239240
La manera de estudiarlos es haciendo clic en ellos. Casi todos los valores son editables en el lugar.

0 commit comments

Comments
 (0)