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
+9-9
Original file line number
Diff line number
Diff line change
@@ -108,10 +108,10 @@ Here's a demo of reading a non-standard property:
108
108
</body>
109
109
```
110
110
111
-
HTML attributes have following features:
111
+
HTML attributes have the following features:
112
112
113
-
- Their name is case-insensitive (that's HTML: `id` is same as `ID`).
114
-
-They are always strings.
113
+
- Their name is case-insensitive (`id` is same as `ID`).
114
+
-Their values are always strings.
115
115
116
116
Here's an extended demo of working with attributes:
117
117
@@ -136,7 +136,7 @@ Here's an extended demo of working with attributes:
136
136
Please note:
137
137
138
138
1.`getAttribute('About')` -- the first letter is uppercase here, and in HTML it's all lowercase. But that doesn't matter: attribute names are case-insensitive.
139
-
2. We can assign anything to an attribute, but that becomes a string. So here we have `"123"` as the value.
139
+
2. We can assign anything to an attribute, but it becomes a string. So here we have `"123"` as the value.
140
140
3. All attributes including ones that we set are visible in `outerHTML`.
141
141
4. The `attributes` collection is iterable and has all attributes with `name` and `value`.
142
142
@@ -190,7 +190,7 @@ That "feature" may actually come in handy, because the user may modify `value`,
190
190
191
191
## DOM properties are typed
192
192
193
-
DOM properties are not always strings. For instance, `input.checked` property (for checkboxes) is boolean:
193
+
DOM properties are not always strings. For instance, the `input.checked` property (for checkboxes) is a boolean:
194
194
195
195
```html run
196
196
<inputid="input"type="checkbox"checked> checkbox
@@ -201,7 +201,7 @@ DOM properties are not always strings. For instance, `input.checked` property (f
201
201
</script>
202
202
```
203
203
204
-
There are other examples. The `style` attribute is a string, but `style` property is an object:
204
+
There are other examples. The `style` attribute is a string, but the `style` property is an object:
@@ -311,7 +311,7 @@ But there may be a possible problem with custom attributes. What if we use a non
311
311
312
312
To avoid conflicts, there exist [data-*](https://html.spec.whatwg.org/#embedding-custom-non-visible-data-with-the-data-*-attributes) attributes.
313
313
314
-
**All attributes starting with "data-" are reserved for programmers' use. They are available in `dataset` property.**
314
+
**All attributes starting with "data-" are reserved for programmers' use. They are available in the `dataset` property.**
315
315
316
316
For instance, if an `elem` has an attribute named `"data-about"`, it's available as `elem.dataset.about`.
317
317
@@ -380,7 +380,7 @@ Methods to work with attributes are:
380
380
-`elem.removeAttribute(name)` -- to remove the attribute.
381
381
-`elem.attributes` is a collection of all attributes.
382
382
383
-
For most needs DOM properties can serve us well. We should refer to attributes only when DOM properties do not suit us, when we need exactly attributes, for instance:
383
+
For most needs, DOM properties can serve us well. We should refer to attributes only when DOM properties do not suit us, when we need exactly attributes, for instance:
384
384
385
385
- We need a non-standard attribute. But if it starts with `data-`, then we should use `dataset`.
386
-
- We want to read the value "as written" in HTML. The value of the DOM property may be different, for instance `href` property is always a full URL, and we may want to get the "original" value.
386
+
- We want to read the value "as written" in HTML. The value of the DOM property may be different, for instance the `href` property is always a full URL, and we may want to get the "original" value.
0 commit comments