3.2 使用元素属性
元素可以用属性(attribute)进行配置。代码清单3-6所示为应用到a元素上的一个属性。这个元素用来生成超链接。点击超链接就会加载另一个HTML文档。
代码清单3-6 使用元素属性
I like <ahref="/apples.html">apples</a> and oranges.
属性只能用在开始标签或单个标签上,不能用于结束标签。如图3-4所示,属性具有名称和值两部分。
图3-4 为HTML元素添加属性
有一些全局属性可用于所有HTML元素,本章稍后将有介绍。除了这些全局属性,元素还有用来提供其特有配置信息的专有属性。href属性就限于a元素,它配置的是超链接的目的URL。a元素定义了一批专有属性,它们会在第8章中得到说明。
提示
上面的示例中使用双引号界定属性值(形如"属性值"),不过也可以用单引号(形如'属性值')。如果属性值本身含有引号,那么两种引号都要用到(形如"'含引号的'属性值",或'"含引号的"属性值')。
3.2.1 一个元素应用多个属性
一个元素可以应用多个属性,这些属性间以一个或几个空格分隔即可。代码清单3-7即为一例。
代码清单3-7 为一个元素设置多个属性
I like <aclass="link" href="/apples.html" id="firstlink">apples</a> and oranges.
这些属性的顺序未作要求,全局属性和元素专有属性可随意交错。上面的代码清单就是这样做的,其中class和id是全局属性(本章稍后会讲到这些属性)。
3.2.2 使用布尔属性
有些属性属于布尔属性,这种属性不需要设定一个值,只需将属性名添加到元素中即可,如代码清单3-8所示。
代码清单3-8 布尔属性
Enter your name: <inputdisabled>
此例中的布尔属性是disabled,元素中只添加了该属性的名称。input元素为用户在HTML表单(在第12章中讲述)中输入数据提供了一种手段。添加disabled属性可以阻止用户输入数据。布尔属性有一点小古怪,它以本来存在而不是用户为其设定的值对元素进行配置。上例中并未这样设置disabled="true",仅仅是添加了disabled这个词而已。为布尔属性指定一个空字符串("")或属性名称字符串作为其值也有同样的效果,如代码清单3-9所示。
代码清单3-9 为布尔属性指定空字符串值
Enter your name: <inputdisabled=""> Enter your name: <inputdisabled="disabled">
3.2.3 使用自定义属性
用户可自定义属性,这种属性必须以data-开头。代码清单3-10演示了这种属性的用法。
代码清单3-10 对元素应用自定义属性
Enter your name: <input disabled="true"data-creator="adam" data-purpose="collection">
这种属性的恰当名称是作者定义属性,有时也称扩展属性。不过我更喜欢使用自定义属性这个常见得多的名称。
自定义属性是对HTML4中“浏览器应当忽略不认识的属性”这种广泛应用的技巧的正式规定。在这类属性名称之前添加前缀data-是为了避免与HTML的未来版本中可能增加的属性名冲突。自定义属性与CSS(在第4章介绍)和JavaScript(在第5章介绍)结合起来很有用。