You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/1-document/06-dom-attributes-and-properties/article.md
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Atributos e propriedades
2
2
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.
3
+
Quando o 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.
4
4
5
5
Por exemplo, se a tag é `<body id="page">`, então o objeto DOM tem `body.id="page"`.
6
6
@@ -51,7 +51,7 @@ Então, propriedades do DOM e métodos se comportam como qualquer outro objeto J
51
51
52
52
## Atributos HTML
53
53
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.
54
+
Em HTML, tags podem ter atributos. Quando o navegador analisa o HTML para criar objetos DOM para as tags, ele reconhece atributos *padronizados* e cria propriedades DOM para eles.
55
55
56
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.
57
57
@@ -85,7 +85,7 @@ Aqui nós podemos ver:
85
85
86
86
Então, se um atributo não é padrão, não há uma propriedade DOM para ele. Há alguma forma de acessar esses atributos?
87
87
88
-
Claro. Todos atributos são acessíveis usando os seguintes métodos:
88
+
Claro. Todos os atributos são acessíveis usando os seguintes métodos:
89
89
90
90
-`elem.hasAttribute(name)` -- checa a existência do valor.
91
91
-`elem.getAttribute(name)` -- obtém o valor.
@@ -96,7 +96,7 @@ Esses métodos operam exatamente com o que está escrito no HTML.
96
96
97
97
É possível checar todos os atributos usando `elem.attributes`: uma coleção de objetos que pertence à classe incorporada [Attr](https://dom.spec.whatwg.org/#attr), com as propriedades `name` e `value`.
98
98
99
-
Aqui está uma demonstração da leitura de uma propriedade não padrão:
99
+
Aqui está uma demonstração da leitura de uma propriedade não padronizada:
100
100
101
101
```html run
102
102
<bodysomething="non-standard">
@@ -135,8 +135,8 @@ Aqui está uma demonstração estendida de como trabalhar com atributos:
135
135
136
136
Observe:
137
137
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.
139
-
2. Nós podemos assinalar qualquer coisa a um atributo, mas se tornará uma string. Então aqui temos `"123"` como o valor.
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.
139
+
2. Nós podemos atribuir qualquer coisa a um atributo, mas se tornará uma string. Então, aqui temos `"123"` como o valor.
140
140
3. Todos os atributos, incluindo os que estão definidos, são visíveis no `outerHTML`.
141
141
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`.
142
142
@@ -239,7 +239,7 @@ Se precisarmos do valor de `href` ou qualquer outro atributo exatamente como esc
239
239
240
240
Quando escrevemos HTML, usamos vários atributos padrões. Mas e os atributos customizados, os não padrões? Primeiro, vamos ver se eles são úteis ou não? E para que servem?
241
241
242
-
As vezes, atributos não padronizados são úteis para passar dados customizados do HTML para o JavaScript, ou para "marcar" elementos HTML para o JavaScript.
242
+
Às vezes, atributos não padronizados são úteis para passar dados customizados do HTML para o JavaScript, ou para "marcar" elementos HTML para o JavaScript.
243
243
244
244
Bem assim:
245
245
@@ -297,16 +297,16 @@ Por exemplo, para o estado do pedido, o atributo `order-state` é utilizado:
297
297
</div>
298
298
```
299
299
300
-
Porque é preferível usar um atributo do que ter classes como `.order-state-new`, `.order-state-pendeing`, `.order-state-canceled`?
300
+
Por que é preferível usar um atributo do que ter classes como `.order-state-new`, `.order-state-pendeing`, `.order-state-canceled`?
301
301
302
-
Porque um atributo é mais conveniente de se gerenciar. O estado pode ser mudado tão facilmente quanto:
302
+
Porque um atributo é mais conveniente de gerenciar. O estado pode ser mudado tão facilmente quanto:
303
303
304
304
```js
305
305
// um pouco mais simples que remover classes antigas/adicionar classes novas.
306
306
div.setAttribute('order-state', 'canceled');
307
307
```
308
308
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.
309
+
Mas pode haver um possível problema 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.
310
310
311
311
Para evitar tais conflitos, existem os atributos [data-*](https://html.spec.whatwg.org/#embedding-custom-non-visible-data-with-the-data-*-attributes).
312
312
@@ -325,7 +325,7 @@ Bem assim:
325
325
326
326
Atributos com várias palavras como `data-order-state` são definidas em camel case: `dataset.orderState`.
0 commit comments