HTML属性值必须用双引号包裹,因双引号能避免空格、等号、引号等特殊字符导致的解析截断,兼容XHTML、构建工具及团队协作;仅当值内含双引号且无法转义时才用单引号。

HTML属性值必须用引号包裹,双引号是首选且最稳妥的写法。
为什么坚持用双引号
双引号能避免大多数解析歧义,尤其在团队协作或自动化工具处理时更稳定。浏览器虽对无引号或单引号有一定容错,但XHTML、校验工具、构建流程(如Webpack、ESLint插件)普遍要求双引号。省略引号或混用容易引发意外截断——比如 value=Hello World 会被解析为两个独立属性 value=Hello 和未定义的 World。
哪些情况必须用双引号
- 属性值含空格、等号、斜杠、尖括号等特殊字符时,例如:
title="Click here to open the user's profile" - 所有布尔属性以外的常规属性,如
class、id、src、href、alt等 - 表单控件的
name、value、placeholder等 -
alt属性不可省略,且值必须用双引号,例如:
单引号只在必要时使用
仅当属性值本身包含双引号且无法转义时,才改用单引号,例如:data-info='He said "Hello!"'。这种场景极少,日常开发中应主动规避,比如把引号内容改为中文顿号或括号,或拆分结构用 data- 属性配合 JS 处理。
常见错误与修正
- ❌
@#@#@#@#@#@#@#@#@#@0 - ❌
→ ✅(双引号可安全包裹撇号) - ❌ → ✅(多个 class 必须在同一对双引号内)
- ✅ 布尔属性可简写,如
,无需写成required="required",但若显式赋值则仍需双引号 - ✅ 布尔属性可简写,如
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











