我可以在HTML属性值中添加什么值?

Kyl*_*yle 28 html html5

我是否需要在html属性值中转义引号?允许哪些字符?

这有效吗?

<span title="This is a 'good' title.">Hi</span>
Run Code Online (Sandbox Code Playgroud)

Bri*_*ell 42

如果你的属性值引用(启动和双引号结束"),那么除了双引号和&符号的任何字符是允许的,必须援引&quot;&amp;分别(或等价的数字实体引用,&#34;&#38;)

您还可以在属性值周围使用单引号.如果这样做,您可以在属性中使用文字双引号:<span title='This is a "good" title.'>...</span>.为了在这样的属性值中转义单引号,必须使用数字实体引用,&#39;因为某些浏览器不支持命名实体&apos;(在HTML 4.01中未定义).

此外,你也可以创建一个没有引号的属性,但限制集合,你可以有内它更进一步字符,禁止使用的空间,=,',",<,>,`在属性.

有关更多详细信息,请参阅HTML5规范.

  • 啊,好吧,因为&符号本身会被解析为实体. (5认同)
  • Ampersand是属性值中的有效字符.规范禁止"模糊的&符号",它是(&符号+字母数字字符+分号)的组合,它与任何命名引用都不匹配.`<a title="foo&bar">` - 有效`<a title="&foo;">` - 无效 (4认同)