网页 综合 更新时间 2025-12-02 00:42:56

HTML 属性参考 - HTML(超文本标记语言) | MDN

自动蜘蛛 developer.mozilla.org 正文约 2383 字
HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
Learn web development
Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
View in English Always switch to English
HTML 中的元素拥有属性(attribute);这些额外的值可以配置元素或者以各种方式来调整元素的行为,进而满足用户所需的标准。
备注:虽然浏览器和电子邮件客户端可能仍然支持此属性,但它已经过时。请使用 CSS background-image 代替。
备注:这是遗留属性。请使用 CSS background-color 属性代替。
备注:这是遗留属性。请使用 CSS border 属性代替。
该属性为文本设置颜色,可以使用具名颜色或十六进制 #RRGGBB 格式的颜色。
备注:这是遗留属性。请使用 CSS color 属性代替。
指定此处列出的元素的高度。对于其他所有元素,请使用 CSS height 属性。
备注:对于某些实例,例如 <div>,这是一个遗留属性,对于这些实例应使用 CSS height 属性代替。
备注:对于其他所有实例,例如 <div>,这是一个遗留属性,对于这些实例应使用 CSS height 属性代替。
在 HTML 中,大多数属性都有两个方面:内容属性和 IDL(接口描述语言)属性。
内容属性需要你在内容(HTML 代码)中设置,而且可以通过 element.setAttribute() 或 element.getAttribute() 来设置。内容属性总是一个字符串,即使里面的值是一个整数。例如,要将 <input> 元素的 maxlength 设置为 42,你需要在元素上调用 setAttribute("maxlength", "42")。
IDL 属性(attribute)也就是 JavaScript 属性(property)。你可以使用 JavaScript 属性如 element.foo 来设置这些属性。当你需要获取 IDL 属性的值时,IDL 属性总会使用隐含的内容属性的值(可能先经过转换)来返回一个值。同样地,当你设置这个值时,这个值会保存在内容属性中。换句话说,IDL 属性本质上反映了内容属性。
大多数时候,IDL 属性会返回元素实际使用的值。例如,<input> 的默认 type 是“text”,所以如果你设置 input.type="foobar",<input> 元素仍然会是文本类型(在外观上和表现上),但 type 内容属性的值是“foobar”。然而,type IDL 属性依旧会返回字符串“text”。
IDL 属性并不总是字符串;例如 input.maxlength 是一个数字(有符号长整型)。使用 IDL 属性时,你读取或设置值的类型都是要求的类型。所以 input.maxlength 总会返回一个数字,而如果你要设置 input.maxlength,也需要使用数字。如果你传入了别的类型,则会根据标准 JavaScript 的类型转换规则被转换为数字。
IDL 属性可以反映其他类型,如无符号长整型、URL、布尔类型,等。不幸的是,并没有清晰的规则定义一个属性的 IDL 属性与对应的内容属性如何关联。大多数时候,这会遵守规范中列出的规则,但有时并不遵守。HTML 规范尝试将这件事尽可能变得对开发者友好,但由于很多原因(大多是历史原因),一些属性表现得很奇怪(例如 select.size),你就需要阅读规范以理解它们实际是如何表现的。
一些内容属性(例如 required、readonly、disabled)是布尔属性。如果一个布尔值属性存在,则其值为真(true),如果不存在,其值为假(false)。
HTML 定义了布尔属性允许的取值:如果属性存在,其值必须是一个空字符串(或未给该属性赋值),或者是一个大小写无关的 ASCII 字符串,该字符串与属性名严格相同,前后都没有空格。以下示例是为一个布尔值属性取值的几个有效方式。
再明确一点,布尔值属性不能取值为 "true" 和 "false"。如果需要表示假值,布尔值属性需要整个忽略不写。这个限制消除了一些常见的误解:比如在元素中设置 checked="false",元素的 checked 属性会被解析为 true,因为这个属性出现了。
警告:不建议使用事件处理器属性。将 HTML 和 JavaScript 代码混合在一起通常会产生难以维护的代码,而且事件处理器属性的执行也可能会被内容安全策略阻止。
除了上表中列出的属性,全局事件处理器(例如 onclick)也可以作为内容属性在所有元素上指定。
所有事件处理器属性都接受字符串值。字符串将用于合成 JavaScript 函数,例如 function name(/*args*/) {body},其中,name 为属性名,body 为属性值。处理器接收与其 JavaScript 事件处理器对应项相同的参数——大多数处理器只接收一个 event 参数,而 onerror 接收五个参数:event、source、lineno、colno、error。这意味着你通常可以在属性中使用 event 变量。
此页面最后更新于 2025年12月2日,由 MDN 贡献者更新。
本内容的部分版权归 mozilla.org 贡献者所有,©1998–2026。内容依据知识共享许可协议提供。
访问原文 返回搜索 https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Attributes
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。