属性


属性分类

HTML 中每个元素都可以设置属性,有些属性所有元素都能使用,这类属性被称作 全局属性。HTML 的属性不能满足所有开发需求,HTML 也支持自定义一些属性,它们被称作 自定义属性

全局属性

全局属性非常多,每个属性都在负责各自的领域,下面简单介绍几个目前会用到的属性:

属性描述
id声明元素在文档中的唯一标识
title鼠标移动到元素上时的提示内容
tabindex设置元素可以获取焦点
lang设置内容的语言

其余全局属性可以 点击这里 查看。

id

id 属性用来给元素做唯一的标记,id 属性的使用十分广泛,在 HTML 中常被配合锚点使用,在 CSS 与 JavaScript 中也经常用到,甚至一些后端开发者也会用到该属性。它本身没有给元素提供任何功能,只是给元素提供了唯一个标识。

title

title 为元素提供提示,当用户鼠标移动到该元素上时,会弹出一个提示信息。使用得较多的是超链接提示,图片提示,省略提示等等。

比如:

<a href="https://xxwwp.gitee.io/jnet-basic/" title="jnet 课程讲义">jnet basic</a>
<span title="title 为元素提供提示,当用户鼠标移动到该元素上时,会弹出一个提示信息。">title</span>

tabindex

tabindex 属性可以让一个普通的元素获取焦点。

<p>
  <button>先点我,再摁【tab】键</button>
</p>
<p>
  <span tabindex="0">这里可以获取焦点</span><span>这里获取不到焦点</span><a href="#">超链接也可以获得焦点</a><button>按钮也可以获得</button></p>

tabindex 的值是数字,不同的值意义不同:

描述
-1使用【tab】键切换不到,只能主动点击,才能获取焦点
0可以通过【tab】键切换到
正值可以通过【tab】键切换到,按照值的顺序切换

下列代码中,选点击 one 文本让其获取焦点,使用【tab】键进行焦点导航时,会按照 tabindex 值的顺序切换焦点。

<p>
  <span tabindex="3">three</span>
  <span tabindex="2">tow</span>
  <span tabindex="1">one</span>
</p>

lang

lang 属性用于设置页面或者元素内容部分的语言,当设置 html 元素的 lang 属性时,它会作用于整个网页,用于设置页面中内容的语言。也可以个单独的一行文本设置语言属性,比如:

<p lang="en">English</p>

自定义属性

元素的属性并没有限制,可以为元素设置任意名称的属性:

<p abc efg="123">text</p>

上面就给 p 元素设置了属性 abcefg,这并不会影响 HTML 的渲染,但是这样的属性名没有规则,如果多人开发,其他程序员不一定能第一时间知道它们是自定义属性,比如:

<p links="text" next="content">文本</p>

上面两个属性 links 或者 next 都不是 HTML 内置的属性,但是它们都是完整的英文单词,会混淆其他开发者。所以在 HTML 中,自定义属性有一个共同的约定,使用 data- 开头,比如:

<p data-links="text" data-next="content">文本</p>

后期维护时,面对成千上万行代码,这种约定写法极大提升了代码可读性。