属性

属性扩展了HTMLXML元素,改变其行为或提供元数据。

属性始终采用name="value"的形式(属性的标识符后跟其关联的值)。您可能会看到没有等号或值的属性。这是在 HTML 中提供空字符串的简写方式。但是,这在 XML 中无效:XML 要求所有属性都具有显式值。

许多 HTML 属性是布尔属性。这些属性的值仅受属性的存在或不存在控制。有关更多信息,请参阅布尔属性

属性的反映

属性可能会反映到特定接口的特定属性中。这意味着可以通过访问该属性来读取属性的值,并且可以通过将该属性设置为不同的值来修改它。

例如,下面的placeholder反映到HTMLInputElement.placeholder

考虑以下 HTML

html
<input placeholder="Original placeholder" />

我们可以使用以下方法检查HTMLInputElement.placeholder和属性之间的映射关系

js
const input = document.querySelector("input");
const attr = input.getAttributeNode("placeholder");
console.log(attr.value);
console.log(input.placeholder); // Prints the same value as `attr.value`

// Changing placeholder value will also change the value of the reflected attribute.
input.placeholder = "Modified placeholder";
console.log(attr.value); // Prints `Modified placeholder`

另请参阅