属性(Attribute)
属性(Attribute)可扩展 HTML 或 XML 元素,改变其行为或提供元数据。
属性的形式总是 name="value"
(属性的标识符后跟相关的值)。你可能会看到没有等号或值的属性。这是在 HTML 中提供空字符串。但是,在 XML 中这是无效的:XML 要求所有属性都有显式值。
属性的反射
属性可以反射到特定接口的特定属性中。这意味着标签属性的值可以通过访问接口属性来读取,并可通过将接口属性设置为不同的值来修改标签属性的值性。
例如,下面的 placeholder
反射为 HTMLInputElement.placeholder
。
考虑这段 HTML 代码:
html
<input placeholder="原始占位符" />
我们可以使用以下代码检查 HTMLInputElement.placeholder
与属性之间的反射:
js
const input = document.querySelector("input");
const attr = input.getAttributeNode("placeholder");
console.log(attr.value);
console.log(input.placeholder); // 与 `attr.value` 打印的值相同
// 更改占位符的值也会更改反射属性的值。
input.placeholder = "修改过的占位符";
console.log(attr.value); // 打印 `修改过的占位符`