Skip to content

Commit 8265d73

Browse files
vavimayor159vavimayor159
authored andcommitted
Limpiando el formato del documento
1 parent b52dc4a commit 8265d73

File tree

1 file changed

+72
-63
lines changed

1 file changed

+72
-63
lines changed

14_dom.md

Lines changed: 72 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,21 @@ quote}}
1313

1414
{{index drawing, parsing}}
1515

16-
Cuando abres una página web en tu navegador, el navegador obtiene el texto de
17-
la página ((HTML)) y lo analiza, de una manera bastante similar a la manera en
18-
que nuestro analizador del [Capítulo ?](language#parsing) analizaba los programas.
19-
El navegador construye un modelo de la ((estructura)) del documento y utiliza
20-
este modelo para dibujar la página en la pantalla.
16+
Cuando abres una página web en tu navegador, el navegador obtiene el
17+
texto de la página ((HTML)) y lo analiza, de una manera bastante
18+
similar a la manera en que nuestro analizador del [Capítulo ?](language#parsing)
19+
analizaba los programas. El navegador construye un modelo de la
20+
((estructura)) del documento y utiliza este modelo para dibujar la
21+
página en la pantalla.
2122

2223

2324
{{index "live data structure"}}
2425

25-
Esta representación del ((documento)) es uno de los juguetes que un programa de
26-
JavaScript tiene disponible en su ((caja de arena)). Es una ((estructura de
27-
datos)) que puedes leer o modificar. Y actúa como una estructura en _tiempo real_: cuando se modifica, la página en la pantalla es actualizada para
28-
reflejar los cambios.
26+
Esta representación del ((documento)) es uno de los juguetes que un
27+
programa de JavaScript tiene disponible en su ((caja de arena)). Es
28+
una ((estructura de datos)) que puedes leer o modificar. Y actúa como
29+
una estructura en _tiempo real_: cuando se modifica, la página en la
30+
pantalla es actualizada para reflejar los cambios.
2931

3032
## La estructura del documento
3133

@@ -59,56 +61,61 @@ Esta página tiene la siguiente estructura:
5961

6062
{{indexsee "Document Object Model", DOM}}
6163

62-
La estructura de datos que el navegador utiliza para representar el documento
63-
sigue esta figura. Para cada caja, hay un objeto, con el que podemos
64-
interactuar para descubrir cosas como que etiqueta de HTML representa y
65-
que cajas y texto contiene. Esta representación es llamada _Modelo de Objeto del
66-
Documento_ o ((DOM)) _(por sus siglas en inglés "Document Object Model")_.
64+
La estructura de datos que el navegador utiliza para representar el
65+
documento sigue esta figura. Para cada caja, hay un objeto, con el que
66+
podemos interactuar para descubrir cosas como que etiqueta de HTML
67+
representa y que cajas y texto contiene. Esta representación es llamada
68+
_Modelo de Objeto del Documento_ o ((DOM)) _(por sus siglas en inglés
69+
"Document Object Model")_.
6770

6871
{{index "documentElement property", "head property", "body property", "html (HTML tag)", "body (HTML tag)", "head (HTML tag)"}}
6972

7073
El objeto de enlace global `document` nos da acceso a esos objetos. Su
7174
propiedad `documentElement` hace referencia al objeto que representa
72-
a la etiqueta `<html>`. Dado que cada documento HTML tiene una cabecera y un
73-
cuerpo, también tiene propiedades `head` y `body` que apuntan a esos elementos.
75+
a la etiqueta `<html>`. Dado que cada documento HTML tiene una cabecera
76+
y un cuerpo, también tiene propiedades `head` y `body` que apuntan a
77+
esos elementos.
7478

7579
## Árboles
7680

7781
{{index [nesting, "of objects"]}}
7882

7983
Pensemos en los ((árbol))es ((sintáctico))s del [Capítulo ?](language#parsing)
80-
por un momento. Sus estructuras son sorprendentemente similares a la estructura
81-
de un documento del navegador. Cada _((nodo))_ puede referirse a otros nodos
82-
_hijos_ que, a su vez, pueden tener hijos propios. Esta forma es típica de
83-
las estructuras anidadas donde los elementos pueden contener sub elementos que
84-
son similares a ellos mismos.
84+
por un momento. Sus estructuras son sorprendentemente similares a la
85+
estructura de un documento del navegador. Cada _((nodo))_ puede
86+
referirse a otros nodos _hijos_ que, a su vez, pueden tener hijos
87+
propios. Esta forma es típica de las estructuras anidadas donde los
88+
elementos pueden contener sub elementos que son similares a ellos
89+
mismos.
8590

8691
{{index "documentElement property", [DOM, tree]}}
8792

88-
Le damos el nombre de _((árbol))_ a una estructura de datos
89-
cuando tiene una estructura de ramificación, no tiene ((ciclo))s
90-
(un nodo no puede contenerse a sí mismo, directa o indirectamente) y
91-
tiene una única _((raíz))_ bien definida. En el caso del _DOM_,
93+
Le damos el nombre de _((árbol))_ a una estructura de datos cuando
94+
tiene una estructura de ramificación, no tiene ((ciclo))s (un nodo
95+
no puede contenerse a sí mismo, directa o indirectamente) y tiene
96+
una única _((raíz))_ bien definida. En el caso del _DOM_,
9297
`document.documentElement` hace la función de raíz.
9398

9499
{{index sorting, ["data structure", "tree"], "syntax tree"}}
95100

96-
Los árboles aparecen constantemente en las ciencias de la computación _(computer sience)_.
97-
Además de representar estructuras recursivas como los documentos HTML o
98-
programas, también son comúnmente usados para mantener ((conjunto))s
99-
ordenados de datos debido a que los elementos generalmente pueden ser
100-
encontrados o agregados más eficientemente en un árbol que en un
101-
arreglo plano.
101+
Los árboles aparecen constantemente en las ciencias de la computación
102+
_(computer sience)_. Además de representar estructuras recursivas como
103+
los documentos HTML o programas, también son comúnmente usados para
104+
mantener ((conjunto))s ordenados de datos debido a que los elementos
105+
generalmente pueden ser encontrados o agregados más eficientemente en
106+
un árbol que en un arreglo plano.
102107

103108
{{index "leaf node", "Egg language"}}
104109

105110
Un árbol típico tiene diferentes tipos de ((nodo))s. El árbol sintáctico
106-
del [lenguaje _Egg_](language) tenía identificadores, valores y nodos de
107-
aplicación. Los nodos de aplicación pueden tener hijos, mientras que los
108-
identificadores y valores son _hojas_, o nodos sin hijos.
111+
del [lenguaje _Egg_](language) tenía identificadores, valores y nodos
112+
de aplicación. Los nodos de aplicación pueden tener hijos, mientras
113+
que los identificadores y valores son _hojas_, o nodos sin hijos.
109114

110115
{{index "body property", [HTML, structure]}}
111116

117+
118+
112119
Lo mismo sucede para el DOM, los nodos para los _((elemento))s_,
113120
los cuales representan etiquetas HTML, determinan la estructura del
114121
documento. Estos pueden tener ((nodos hijos)). Un ejemplo de estos
@@ -118,14 +125,16 @@ nodos es `document.body`. Algunos de estos hijos pueden ser
118125

119126
{{index "text node", element, "ELEMENT_NODE code", "COMMENT_NODE code", "TEXT_NODE code", "nodeType property"}}
120127

121-
Cada objeto _nodo DOM_ tiene una propiedad `nodeType`, la cual contiene un
122-
código (numérico) que identifica el tipo de nodo. Los _Elementos_ tienen
123-
el código 1, que también es definido por la propiedad constante
124-
`Node.ELEMENT_NODE`. Los nodos de texto, representando una sección de
125-
texto en el documento, obtienen el código 3 (`Node.TEXT_NODE`). Los
126-
comentarios obtienen el código 8 (`Node.COMMENT_NODE`).
128+
Cada objeto _nodo DOM_ tiene una propiedad `nodeType`, la cual
129+
contiene un código (numérico) que identifica el tipo de nodo. Los
130+
_Elementos_ tienen el código 1, que también es definido por la
131+
propiedad constante `Node.ELEMENT_NODE`. Los nodos de texto, representando
132+
una sección de texto en el documento, obtienen el código 3
133+
(`Node.TEXT_NODE`). Los comentarios obtienen el código 8
134+
(`Node.COMMENT_NODE`).
127135

128-
Otra forma de visualizar nuestro ((árbol)) de documento es la siguiente:
136+
Otra forma de visualizar nuestro ((árbol)) de documento es la
137+
siguiente:
129138

130139
{{figure {url: "img/html-tree.svg", alt: "HTML document as a tree",width: "8cm"}}}
131140

@@ -142,11 +151,11 @@ Usar códigos numéricos crípticos para representar a los tipos de
142151
nodos no es algo que se parezca al estilo de JavaScript para hacer
143152
las cosas. Más adelante en este capítulo, veremos cómo otras partes
144153
de la interfaz DOM también se sienten engorrosas y alienígenas.
145-
La razón de esto es que DOM no fue diseñado solamente para
146-
JavaScript. Más bien, intenta ser una interfaz _independiente del
147-
lenguaje_ que puede ser usada en otros sistemas, no
148-
solamente para HTML pero también para ((XML)), que es un ((formato
149-
de datos)) genérico con una sintaxis similar a la de HTML.
154+
La razón de esto es que DOM no fue diseñado solamente para JavaScript.
155+
Más bien, intenta ser una interfaz _independiente del lenguaje_ que
156+
puede ser usada en otros sistemas, no solamente para HTML pero
157+
también para ((XML)), que es un ((formato de datos)) genérico con
158+
una sintaxis similar a la de HTML.
150159

151160
{{index consistency, integration}}
152161

@@ -193,11 +202,11 @@ otros nodos cercanos. El siguiente diagrama los ilustra:
193202

194203
{{index "child node", "parentNode property", "childNodes property"}}
195204

196-
A pesar de que el diagrama muestra un solo enlace por cada tipo, cada nodo
197-
tiene una propiedad `parentNode` que apunta al nodo al que pertenece, si
198-
es que hay alguno. Igualmente, cada nodo _elemento_ (nodo tipo 1) tiene
199-
una propiedad `childNodes` que apunta a un objeto similar a un arreglo
200-
que almacena a sus hijos.
205+
A pesar de que el diagrama muestra un solo enlace por cada tipo, cada
206+
nodo tiene una propiedad `parentNode` que apunta al nodo al que
207+
pertenece, si es que hay alguno. Igualmente, cada nodo _elemento_
208+
(nodo tipo 1) tiene una propiedad `childNodes` que apunta a un objeto
209+
similar a un arreglo que almacena a sus hijos.
201210

202211
{{index "firstChild property", "lastChild property", "previousSibling property", "nextSibling property"}}
203212

@@ -206,11 +215,11 @@ utilizando únicamente estos enlaces entre padre e hijo. Pero JavaScript
206215
también te otorga acceso a un número de enlaces adicionales convenientes.
207216
Las propiedades `firstChild` y `lastChild` apuntan al primer y último
208217
elementos hijo, o tiene el valor `null` para nodos sin hijos. De
209-
manera similar, las propiedades `previousSibling` y `nextSibling` apuntan
210-
a los nodos adyacentes, los cuales, son nodos con el mismo padre que
211-
aparecen inmediatamente antes o después del nodo. Para el primer hijo
212-
`previousSibling` será `null` y para el último hijo, `nextSibling`
213-
será `null`.
218+
manera similar, las propiedades `previousSibling` y `nextSibling`
219+
apuntan a los nodos adyacentes, los cuales, son nodos con el mismo
220+
padre que aparecen inmediatamente antes o después del nodo. Para el
221+
primer hijo `previousSibling` será `null` y para el último hijo,
222+
`nextSibling` será `null`.
214223

215224
{{index "children property", "text node", element}}
216225

@@ -222,9 +231,9 @@ en nodos de tipo texto.
222231
{{index "talksAbout function", recursion, [nesting, "of objects"]}}
223232

224233
Cuando estás tratando con estructuras de datos anidadas como esta,
225-
las funciones recursivas son generalmente útiles. La siguiente
226-
función escanea un documento por ((nodos de texto)) que contengan
227-
una cadena dada y regresan `true` en caso de que encuentren una:
234+
las funciones recursivas son generalmente útiles. La siguiente función
235+
escanea un documento por ((nodos de texto)) que contengan una cadena
236+
dada y regresan `true` en caso de que encuentren una:
228237

229238
{{id talksAbout}}
230239

@@ -286,15 +295,15 @@ console.log(link.href);
286295

287296
{{index "child node"}}
288297

289-
Todos los nodos _elemento_ tienen un método `getElementsByTagName`, el cual
290-
recolecta a todos los elementos con un nombre de etiqueta dado que
298+
Todos los nodos _elemento_ tienen un método `getElementsByTagName`, el
299+
cual recolecta a todos los elementos con un nombre de etiqueta dado que
291300
son descendientes (hijos directos o indirectos) de ese nodo y los
292301
regresa como un objeto parecido a un arreglo.
293302

294303
{{index "id attribute", "getElementById method"}}
295304

296-
Para encontrar un _único_ nodo en específico, puedes otorgarle un atributo `id`
297-
y usar `document.getElementById`.
305+
Para encontrar un _único_ nodo en específico, puedes otorgarle un
306+
atributo `id` y usar `document.getElementById`.
298307

299308
```{lang: "text/html"}
300309
<p>Mi avestruz Gertrudiz:</p>

0 commit comments

Comments
 (0)