Skip to content

Commit 4eae541

Browse files
committed
Correct some errors in the translation
1 parent e45fa92 commit 4eae541

File tree

4 files changed

+41
-42
lines changed

4 files changed

+41
-42
lines changed

2-ui/1-document/06-dom-attributes-and-properties/1-get-user-attribute/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ importance: 5
44

55
# Obtendo o atributo
66

7-
Escreva o código para obter do documento o elemento com o atributo `data-widget-name` e leia seu valor.
7+
Escreva o código para selecionar o elemento do documento com o atributo `data-widget-name` e leia seu valor.
88

99
```html run
1010
<!DOCTYPE html>

2-ui/1-document/06-dom-attributes-and-properties/2-yellow-links/solution.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
12
Primeiro, precisamos encontrar todas referências externas.
23

3-
Há duas formas.
4+
Há duas maneiras.
45

56
A primeira é encontrar todos os links usando `document.querySelectorAll('a')` e então filtrar o que precisamos:
67

@@ -21,12 +22,12 @@ for (let link of links) {
2122
}
2223
```
2324

24-
Por favor observe: usamos `link.getAttribute('href')`. Não `link.href`, porque precisamos do valor do HTML.
25+
Observe: usamos `link.getAttribute('href')`. Não `link.href`, porque precisamos do valor do HTML.
2526

26-
...Outra forma mais simples seria apenas adicionar os checks ao seletor CSS
27+
...Outra forma mais simples seria apenas adicionar as verificações ao seletor CSS
2728

2829
```js
29-
// procura todos os links que tem :// em href
30+
// procura por todos os links que tem :// em href
3031
// mas href não começa com http://internal.com
3132
let selector = 'a[href*="://"]:not([href^="http://internal.com"])';
3233
let links = document.querySelectorAll(selector);

2-ui/1-document/06-dom-attributes-and-properties/2-yellow-links/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ importance: 3
77
Faça com que todos links externos fiquem laranja alterando a propriedade `style`.
88

99
Um link é externo se:
10-
- O `href` tem `://`.
10+
- Seu `href` contém `://`.
1111
- Mas não começa com `http://internal.com`.
1212

1313
Por exemplo:

2-ui/1-document/06-dom-attributes-and-properties/article.md

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
# Atributos e propriedades
22

3-
Quando navegador carrega a página, ele "lê" (outra palavra: "analisa") o HTML e gera objetos DOM a partir dela. Para nós de elementos, a maior parte dos atributos HTML padrão automaticamente se tornam propriedades de objetos DOM.
3+
Quando navegador carrega a página, ele "lê" (em outras palavras: "analisa") o HTML e gera objetos DOM a partir dela. Para nós de elementos, a maioria dos atributos HTML padronizados automaticamente se tornam propriedades de objetos DOM.
44

55
Por exemplo, se a tag é `<body id="page">`, então o objeto DOM tem `body.id="page"`.
66

7-
Mas o mapeamento atributo-propriedade não é de um para um! Nesse capítulo vamos prestar atenção em separar essas duas noções, entender como trabalhar com eles, quando eles são os mesmos e quando eles são diferentes.
7+
Mas o mapeamento entre atributo e propriedade não é de um para um! Nesse capítulo vamos prestar atenção em separar essas duas noções, entender como trabalhar com eles, quando eles são os mesmos e quando eles são diferentes.
88

99
## Propriedades DOM
1010

11-
Nós já vimos propriedades DOM incorporadas. Há várias. Mas tecnicamente ninguém nos limita, e se não há propriedades suficientes, nós podemos adicionar nossas próprias.
11+
Nós já vimos propriedades DOM incorporadas. Há várias delas, mas tecnicamente ninguém nos limita, e se não há propriedades suficientes, nós podemos adicionar nossas próprias.
1212

13-
Nós DOM são objetos JavaScript. Nós podemos alterar eles.
13+
Nós do DOM são objetos JavaScript comuns. Nós podemos alterar eles.
1414

1515
Por exemplo, vamos criar uma propriedade nova em `document.body`:
1616

1717
```js run
1818
document.body.myData = {
1919
name: 'Caesar',
20-
title: 'Imperador'
20+
title: 'Imperator'
2121
};
2222

23-
alert(document.body.myData.title); // Imperador
23+
alert(document.body.myData.title); // Imperator
2424
```
2525

2626
Nós podemos adicionar um método também:
@@ -33,42 +33,42 @@ document.body.sayTagName = function() {
3333
document.body.sayTagName(); // BODY (o valor de "this" no método é document.body)
3434
```
3535

36-
Nós também podemos modificar prototypes incorporados como `Element.prototype` e adicionar novos métodos para todos elements:
36+
Também podemos modificar prototypes incorporados como o `Element.prototype` e adicionar novos métodos para todos os elementos:
3737

3838
```js run
3939
Element.prototype.sayHi = function() {
40-
alert(`Olá, eu sou um ${this.tagName}`);
40+
alert(`Hello, I'm ${this.tagName}`);
4141
};
4242

43-
document.documentElement.sayHi(); // Olá, eu sou um HTML
44-
document.body.sayHi(); // Olá, eu sou um BODY
43+
document.documentElement.sayHi(); // Hello, I'm HTML
44+
document.body.sayHi(); // Hello, I'm BODY
4545
```
4646

47-
Então, propriedades e métodos do DOM se comportam como qualquer objeto JavaScript:
47+
Então, propriedades do DOM e métodos se comportam como qualquer outro objeto JavaScript:
4848

4949
- Podem ter qualquer valor.
5050
- São sensíveis a letras maiúsculas e minúsculas (escreva `elem.nodeType`, não `elem.NoDeTyPe`).
5151

5252
## Atributos HTML
5353

54-
Em HTML, tags podem ter atributos. Quando o navegador analisa o HTML para criar objetos DOM para tags, ele reconhece atributos *padrões* e cria propriedades DOM para eles.
54+
Em HTML, tags podem ter atributos. Quando o navegador analisa o HTML para criar objetos DOM para as tags, ele {"type": {"type": "text"}} atributos *padronizados* e cria propriedades DOM para eles.
5555

56-
Então quando um elemento tem `id` ou outro atributo *padrão*, a propriedade correspontente é criada. Mas isso não acontece se o atributo não for padrão.
56+
Então quando um elemento tem `id` ou outro atributo *padrão*, a propriedade correspondente é criada. Mas isso não acontece se o atributo não for padrão.
5757

5858
Por exemplo:
5959
```html run
6060
<body id="test" something="non-standard">
6161
<script>
6262
alert(document.body.id); // test
6363
*!*
64-
// Atributo não padrão não resulta em uma propriedade
64+
// atributo não padronizado não resulta em uma propriedade
6565
alert(document.body.something); // undefined
6666
*/!*
6767
</script>
6868
</body>
6969
```
7070

71-
Observe que um atributo padrão para um elemento pode ser desconhecido para outro elemento. Por exemplo, `"type"` é padrão para `<input>`([HTMLInputElement](https://html.spec.whatwg.org/#htmlinputelement)), mas não para `<body>` ([HTMLBodyElement](https://html.spec.whatwg.org/#htmlbodyelement)). Atributos padrão são descritos na especificação da classe correspondente ao elemento.
71+
Observe que um atributo padrão para um elemento pode ser desconhecido para outro elemento. Por exemplo, `"type"` é padronizado para `<input>`([HTMLInputElement](https://html.spec.whatwg.org/#htmlinputelement)), mas não para `<body>` ([HTMLBodyElement](https://html.spec.whatwg.org/#htmlbodyelement)). Atributos padrão são descritos na especificação da classe correspondente ao elemento.
7272

7373
Aqui nós podemos ver:
7474
```html run
@@ -77,7 +77,7 @@ Aqui nós podemos ver:
7777
<script>
7878
alert(input.type); // text
7979
*!*
80-
alert(body.type); // undefined: DOM property not created, because it's non-standard
80+
alert(body.type); // undefined: Propriedade DOM não criada, porque não é padrão
8181
*/!*
8282
</script>
8383
</body>
@@ -87,10 +87,10 @@ Então, se um atributo não é padrão, não há uma propriedade DOM para ele. H
8787

8888
Claro. Todos atributos são acessíveis usando os seguintes métodos:
8989

90-
- `elem.hasAttribute(name)` -- checa a existencia do valor.
90+
- `elem.hasAttribute(name)` -- checa a existência do valor.
9191
- `elem.getAttribute(name)` -- obtém o valor.
92-
- `elem.setAttribute(name, value)` -- define um valor.
93-
- `elem.removeAttribute(name)` -- remove um atributo.
92+
- `elem.setAttribute(name, value)` -- define o valor.
93+
- `elem.removeAttribute(name)` -- remove o atributo.
9494

9595
Esses métodos operam exatamente com o que está escrito no HTML.
9696

@@ -124,9 +124,9 @@ Aqui está uma demonstração estendida de como trabalhar com atributos:
124124
125125
elem.setAttribute('Test', 123); // (2), definindo
126126
127-
alert( elem.outerHTML ); // (3), checar se o atributo está no HTML(sim)
127+
alert( elem.outerHTML ); // (3), checando se o atributo está no HTML(sim)
128128
129-
for (let attr of elem.attributes) { // (4) lista todos
129+
for (let attr of elem.attributes) { // (4) listando todos
130130
alert( `${attr.name} = ${attr.value}` );
131131
}
132132
</script>
@@ -135,7 +135,7 @@ Aqui está uma demonstração estendida de como trabalhar com atributos:
135135

136136
Observe:
137137

138-
1. `getAttribute('About')` -- a primeira letra aqui está em maiúsculo, e no HTML está totalmente em minúsculo. Mas isso não importa: nomes de atributos são insensíveis à caixa alta ou baixa.
138+
1. `getAttribute('About')` -- a primeira letra aqui está em maiúsculo, e no HTML está totalmente em minúsculo. Mas isso não importa: nomes de atributos são insensíveis a caixa alta ou baixa.
139139
2. Nós podemos assinalar qualquer coisa a um atributo, mas se tornará uma string. Então aqui temos `"123"` como o valor.
140140
3. Todos os atributos, incluindo os que estão definidos, são visíveis no `outerHTML`.
141141
4. A coleção `attributes` é iterável e tem todos os atributos do elemento (padrões e não padrões) como objetos com propriedades `name` e `value`.
@@ -145,7 +145,6 @@ Observe:
145145
Quando um campo padrão muda, a propriedade correspondente é automaticamente atualizada, e (com algumas exceções) vice-versa.
146146

147147
No exemplo abaixo `id` é modificado como um atributo, e nós podemos ver a propriedade mudada também. E o oposto também ocorre:
148-
In the example below `id` is modified as an attribute, and we can see the property changed too. And then the same backwards:
149148

150149
```html run
151150
<input>
@@ -211,7 +210,7 @@ Há outros exemplos. O campo `style` é uma string, mas a propriedade `style` é
211210
// string
212211
alert(div.getAttribute('style')); // color:red;font-size:120%
213212
214-
// object
213+
// objeto
215214
alert(div.style); // [object CSSStyleDeclaration]
216215
alert(div.style.color); // red
217216
</script>
@@ -245,13 +244,13 @@ As vezes, atributos não padronizados são úteis para passar dados customizados
245244
Bem assim:
246245

247246
```html run
248-
<!-- marca a div para mostra "name" aqui-->
247+
<!-- marca a div para mostrar "name" aqui -->
249248
<div *!*show-info="name"*/!*></div>
250-
<!-- and age here -->
249+
<!-- e a idade aqui -->
251250
<div *!*show-info="age"*/!*></div>
252251

253252
<script>
254-
// o código encontra um elemento com a marca e mostra o que foi requisitado
253+
// o código encontra o elemento marcado e mostra o que foi requisitado
255254
let user = {
256255
name: "Pete",
257256
age: 25
@@ -260,7 +259,7 @@ Bem assim:
260259
for(let div of document.querySelectorAll('[show-info]')) {
261260
// insere a informação correspondente no campo
262261
let field = div.getAttribute('show-info');
263-
div.innerHTML = user[field]; // primeiro Pete em "name", então 25 em "age"
262+
div.innerHTML = user[field]; // primeiro Pete em "name", e então 25 em "age"
264263
}
265264
</script>
266265
```
@@ -307,14 +306,13 @@ Porque um atributo é mais conveniente de se gerenciar. O estado pode ser mudado
307306
div.setAttribute('order-state', 'canceled');
308307
```
309308

310-
Mas podem haver possíveis problemas com atributos customizados. O que acontece se usarmos um atributos não padronizado e depois ele é introduzido como um padrão funcional? A linguagem HTML é viva e está crescendo, e mais atributos aparecem para atender as necessidades dos desenvolvedores. Isso pode causar efeitos inesperados em tais casos.
309+
Mas podem haver possíveis problemas com atributos customizados. E se usarmos um atributo não padronizado e depois ele for introduzido como um atributo padrão? A linguagem HTML é viva e está crescendo, e mais atributos aparecem para atender as necessidades dos desenvolvedores. Isso pode causar efeitos inesperados em tais casos.
311310

312311
Para evitar tais conflitos, existem os atributos [data-*](https://html.spec.whatwg.org/#embedding-custom-non-visible-data-with-the-data-*-attributes).
313312

314313
**Todos os atributos começando com "data-" são reservados para programadores usarem. Eles estão disponíveis na propriedade `dataset`.
315314

316-
Por exemplo, se um `elem` tiver um atributo chamado `"data-about"`, estará disponível em `elem.dataset.about`.
317-
For instance, if an `elem` has an attribute named `"data-about"`, it's available as `elem.dataset.about`.
315+
Por exemplo, se um `elem` tiver um atributo chamado `"data-about"`, ele estará disponível em `elem.dataset.about`.
318316

319317
Bem assim:
320318

@@ -327,7 +325,7 @@ Bem assim:
327325

328326
Atributos com várias palavras como `data-order-state` são definidas em camel case: `dataset.orderState`.
329327

330-
Aqui vai um exemplo "estado do pedido" reescrito:
328+
Aqui vai um exemplo "order state" reescrito:
331329

332330
```html run
333331
<style>
@@ -359,9 +357,9 @@ Aqui vai um exemplo "estado do pedido" reescrito:
359357

360358
Usar atributos `data-*` é uma forma válida e segura de passar dados customizados.
361359

362-
Observe que estamos não limitados ler, como bem podemos também modificar os dados. Então o CSS atualiza o visual de acordo: no exemplo acima, a última linha `(*)` muda a cor para azul.
360+
Observe que estamos não limitados ler, como bem podemos modificar os dados. Então o CSS atualiza o visual de acordo: no exemplo acima, a última linha `(*)` muda a cor para azul.
363361

364-
## Summary
362+
## Sumário
365363

366364
- Atributos -- é o que está escrito no HTML.
367365
- Propriedades -- é o que está escrito nos objetos DOM.
@@ -379,9 +377,9 @@ Métodos para trabalhar com atributos são:
379377
- `elem.getAttribute(name)` -- para obter o valor.
380378
- `elem.setAttribute(name, value)` -- para definir o valor.
381379
- `elem.removeAttribute(name)` -- para remover o atributo.
382-
- `elem.attributes` é a coleção com todos os atributos.
380+
- `elem.attributes` é uma coleção com todos os atributos.
383381

384382
Para a maioria das situações, usar propriedades DOM tem preferência. Nós devemos nos referir a atributos apenas quando propriedades DOM não são cabíveis, quando precisamos de atributos exatos, por exemplo:
385383

386384
- Quando precisamos de atributos não padronizados. Mas se começar com `data-`, então devemos usar `dataset`.
387-
- Quando precisamos ler o valor "a risca" no HTML. O valor da propriedade DOM pode ser diferente, por exemplo, o `href` é sempre uma URL completa, e nós talvez queremos o valor "original".
385+
- Quando precisamos ler o valor do HTML "a risca". O valor da propriedade DOM pode ser diferente, por exemplo, o `href` é sempre uma URL completa, e nós talvez queremos o valor "original".

0 commit comments

Comments
 (0)