Skip to content

Commit 51e9e31

Browse files
committed
Update 2-ui/1-document/05-basic-dom-node-properties
1 parent 7682922 commit 51e9e31

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

2-ui/1-document/05-basic-dom-node-properties/2-tree-info/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ for (let li of document.querySelectorAll('li')) {
66
}
77
```
88

9-
Durante le iterazioni abbiamo bisogno di ricavare il testo all'interno di ogni `li`.
9+
Per ciascuna iterazione abbiamo bisogno di ricavare il testo all'interno di ogni `li`.
1010

1111
Possiamo leggere il testo dal primo nodo figlio di `li` che è un nodo di testo:
1212

2-ui/1-document/05-basic-dom-node-properties/3-tag-in-comment/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
importance: 3
1+
importanza: 3
22

33
---
44

2-ui/1-document/05-basic-dom-node-properties/4-where-document-in-hierarchy/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
Possiamo visualizzare a quale classe appartiene in questo modo:
2+
Possiamo visualizzare a quale classe appartiene esaminandola in questo modo:
33

44
```js run
55
alert(document); // [object HTMLDocument]

2-ui/1-document/05-basic-dom-node-properties/article.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Nodi del DOM differenti possono avere proprietà differenti. Ad esempio, un nodo
1010

1111
Ogni nodo del DOM appartiene alla corrispondente classe nativa.
1212

13-
La classe base della gerarchia è [EventTarget](https://dom.spec.whatwg.org/#eventtarget), che è ereditata dalla classe [Node](http://dom.spec.whatwg.org/#interface-node) che, a sua volta, è ereditata dalle altre classi corrispondenti ai nodi del DOM.
13+
La classe base della gerarchia è [EventTarget](https://dom.spec.whatwg.org/#eventtarget), che è ereditata dalla classe [Node](http://dom.spec.whatwg.org/#interface-node) da cui ereditano le altre classi corrispondenti ai nodi del DOM.
1414

1515
Qui lo schema, le spiegazioni a seguire:
1616

@@ -19,7 +19,7 @@ Qui lo schema, le spiegazioni a seguire:
1919
Le classi sono:
2020

2121
- [EventTarget](https://dom.spec.whatwg.org/#eventtarget) -- è la classe radice (root class) "astratta". Gli oggetti di questa classe non vengono mai creati. Serve solo come base, in questo modo tutti i nodi del DOM supportano i cosiddetti "eventi" che studieremo successivamente.
22-
- [Node](http://dom.spec.whatwg.org/#interface-node) -- anche questa è una classe "astratta" che serve da base per i nodi del DOM. Fornisce le funzionalità principali della struttura gerarchica: `parentNode`, `nextSibling`, `childNodes` e così via (si tratta di getters). Dalla classe `Node` non vengono mai creati oggetti, tuttavia da questa ereditano classi corrispondenti a nodi concreti, nella fattispecie: `Text` per i nodi di testo, `Element` per i nodi elemento e quelli meno ricorrenti come `Comment` per i nodi commento.
22+
- [Node](http://dom.spec.whatwg.org/#interface-node) -- anche questa è una classe "astratta" che serve da base per i nodi del DOM. Fornisce le funzionalità principali della struttura gerarchica: `parentNode`, `nextSibling`, `childNodes` e così via (si tratta di getter). Dalla classe `Node` non vengono mai creati oggetti, tuttavia da questa ereditano classi corrispondenti a nodi concreti, nella fattispecie: `Text` per i nodi di testo, `Element` per i nodi elemento e quelli meno ricorrenti come `Comment` per i nodi commento.
2323
- [Element](http://dom.spec.whatwg.org/#interface-element) -- è la classe base per gli elementi del DOM. Fornisce le funzionalità di navigazione tra elementi come `nextElementSibling`, `children` ed i metodi di ricerca come `getElementsByTagName`, `querySelector`. Un browser non supporta solo HTML, ma anche XML e SVG. La classe `Element` serve da base per le classi più specifiche: `SVGElement`, `XMLElement` e `HTMLElement`.
2424
- [HTMLElement](https://html.spec.whatwg.org/multipage/dom.html#htmlelement) -- è, infine, la classe base per tutti gli elementi HTML. Essa è ereditata da elementi HTML concreti:
2525
- [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement) -- la classe per gli elementi `<input>`,
@@ -35,19 +35,19 @@ Esso riceve proprietà e metodi per effetto della sovrapposizione di (elencate i
3535

3636

3737
- `HTMLInputElement` -- questa classe fornisce le proprietà specifiche per un campo di testo,
38-
- `HTMLElement` -- espone i metodi (e i getters/setters) comuni agli elementi HTML,
38+
- `HTMLElement` -- espone i metodi (e i getter/setter) comuni agli elementi HTML,
3939
- `Element` -- fornisce i metodi generici propri di un elemento,
4040
- `Node` -- fornisce i metodi generici propri di un nodo DOM,
4141
- `EventTarget` -- consente il supporto agli eventi (che tratteremo in seguito),
42-
- ...e, infine, esso eredita da `Object`, quindi saranno disponibili anche i metodi della classe Object come `hasOwnProperty`.
42+
- ...e, infine, esso eredita da `Object`, quindi saranno disponibili anche i metodi di un oggetto semplice come `hasOwnProperty`.
4343

44-
Per conoscere il nome della classe di un nodo DOM, ricordiamoci che un oggetto ha solitamente la proprietà `constructor`. Questa si riferisce al costruttore della classe e il suo nome è `constructor.name`:
44+
Per conoscere il nome della classe di un nodo DOM, ricordiamoci che un oggetto ha solitamente la proprietà `constructor`. Questa contiene un riferimento al costruttore della classe e `constructor.name` indica il suo nome:
4545

4646
```js run
4747
alert( document.body.constructor.name ); // HTMLBodyElement
4848
```
4949

50-
...O possiamo semplicemente eseguire il metodo `toString`:
50+
...Oppure possiamo semplicemente eseguire il metodo `toString`:
5151

5252
```js run
5353
alert( document.body ); // [object HTMLBodyElement]
@@ -63,7 +63,7 @@ alert( document.body instanceof Node ); // true
6363
alert( document.body instanceof EventTarget ); // true
6464
```
6565

66-
Come possiamo notare i nodi DOM sono regolari oggetti JavaScript ed usano classi basate sui prototipi per l'ereditarietà.
66+
Come possiamo notare i nodi DOM sono oggetti JavaScript regolari ed usano classi basate sui prototipi per l'ereditarietà.
6767

6868
Questo è anche facile da osservare esaminando un elemento in un browser con `console.dir(elem)`. Nella console potremo vedere `HTMLElement.prototype`, `Element.prototype` e così via.
6969

@@ -79,7 +79,7 @@ Provatelo con `document.body`.
7979
```
8080
8181
````smart header="L'IDL della specifica"
82-
Nella specifica, le classi DOM non sono descritte con JavaScript, ma con uno speciale [Interface description language](https://en.wikipedia.org/wiki/Interface_description_language) (IDL), che di solito è facile da capire.
82+
Nella specifica, le classi DOM non sono descritte con JavaScript, ma con uno speciale [Interface description language](https://en.wikipedia.org/wiki/Interface_description_language) (IDL), che di solito è facile da comprendere.
8383
8484
Nell'IDL tutte le proprietà sono precedute dai rispettivi tipi. Per esempio `DOMString`, `boolean` e così via.
8585
@@ -107,7 +107,7 @@ interface HTMLInputElement: HTMLElement {
107107
*/!*
108108
...
109109
*!*
110-
// ora un metodo: "void" significa che il metodo non restituisce alcun valore
110+
// ora un metodo: "void" per indicare che il metodo non restituisce alcun valore
111111
*/!*
112112
void select();
113113
...
@@ -259,7 +259,7 @@ elem.innerHTML = elem.innerHTML + "..."
259259
In altre parole, `innerHTML+=` fa questo:
260260
261261
1. Rimuove il contenuto precedente.
262-
2. Il nuovo valore di `innerHTML` è inserito al suo posto (una concatenazione del vecchio e del nuovo).
262+
2. Il nuovo valore di `innerHTML` (una concatenazione del vecchio e del nuovo) è inserito al suo posto.
263263
264264
**Poiché il contenuto viene "azzerato" e riscritto da zero, tutte le immagini e le altre risorse verranno ricaricate**.
265265
@@ -318,7 +318,7 @@ Ricapitolando ciò che è successo in `div.outerHTML=...` è:
318318
- Un pezzo di HTML differente `<p>A new element</p>` è stato inserito al suo posto.
319319
- `div` mantiene ancora il suo valore precedente. L'HTML inserito in seguito non è stato memorizzato in alcuna variabile.
320320
321-
È molto semplice commettere un errore a questo punto: modificare `div.outerHTML` e procedere con `div` come se avesse recepito il nuovo contenuto. Ma questo non avviene. Tale convinzione è corretta per `innerHTML`, ma non per `outerHTML`.
321+
È molto semplice commettere un errore a questo punto: modificare `div.outerHTML` e procedere con `div` come se avesse recepito il nuovo contenuto. Ma questo non avviene. Tale convinzione è corretta per `innerHTML`, ma non per `outerHTML`.
322322
323323
Possiamo scrivere tramite `elem.outerHTML`, ma dovremmo tenere bene presente che non cambia l'elemento ('elem') su cui stiamo scrivendo, sostituisce invece il nuovo HTML al suo posto. Per avere un riferimento valido al nuovo elemento dobbiamo interrogare nuovamente il DOM.
324324
@@ -350,7 +350,7 @@ Ecco un esempio di lettura del contenuto di un nodo di testo e di un commento:
350350
351351
Per i nodi di testo possiamo ipotizzare un motivo per leggerne o modificarne il contenuto testuale, ma perché i commenti?
352352
353-
Talvolta gli sviluppatori incorporano informazioni o istruzioni sui template nei commenti all'interno dell'HTML, in questo modo:
353+
Talvolta gli sviluppatori incorporano informazioni o istruzioni per i template nei commenti all'interno dell'HTML, in questo modo:
354354
355355
```html
356356
<!-- if isAdmin -->
@@ -464,7 +464,7 @@ La maggior parte degli attributi HTML standard ha la corrispondente proprietà D
464464
465465
Se desideriamo conoscere la lista completa delle proprietà supportate per una classe precisa, le possiamo trovare nella specifica. Per esempio la classe `HTMLInputElement` è documentata su <https://html.spec.whatwg.org/#htmlinputelement>.
466466
467-
In alternativa, se vogliamo ricavarle rapidamente o siamo interessati ad una concreta implementazione del browser -- possiamo sempre effettuare un output dell'elemento con `console.dir(elem)` e leggerne le proprietà o, ancora, esplorare "Proprietà DOM" nel tab Elementi degli strumenti per sviluppatori del browser.
467+
In alternativa, se vogliamo ricavarle rapidamente o siamo interessati ad una concreta implementazione del browser -- possiamo sempre esaminare l'elemento con `console.dir(elem)` e leggerne le proprietà o, ancora, esplorare le "Proprietà DOM" nel tab Elementi degli strumenti per sviluppatori del browser.
468468
469469
## Sommario
470470
@@ -482,7 +482,7 @@ Le principali proprietà di un nodo DOM sono:
482482
: Il contenuto HTML dell'elemento. Può essere modificato.
483483
484484
`outerHTML`
485-
: L'HTML completo dell'elemento. Un'operazione di scrittura in `elem.outerHTML` non modifica `elem`, piuttosto viene sostituito nel documento con il nuovo HTML.
485+
: L'HTML completo dell'elemento. Un'operazione di scrittura in `elem.outerHTML` non modifica `elem` ma viene sostituito nel documento con il nuovo HTML.
486486
487487
`nodeValue/data`
488488
: Il contenuto dei nodi che non sono elementi (testi, commenti). Le due proprietà sono quasi del tutto equiparabili, solitamente usiamo `data`. Può essere modificata.

0 commit comments

Comments
 (0)