直接在中写纯内容,无需额外标签;需对用户输入转义防xss;用css控制对齐而非废弃html属性;空单元格必须显式写

直接往 <td> 里写内容就行,别套多余标签<p>绝大多数时候,<code><td> 就是纯容器,填数值不用额外包裹 <code><span></span> 或 <div>。比如数字 <code>42、小数 3.14、日期 2024-06-15,直接放进去即可:<tr>
<td>100</td>
<td>true</td>
<td>apple</td>
</tr>
浏览器会按文本渲染,不自动转义(除非含 <code>> 等特殊字符)。若内容来自用户输入或后端,记得做 HTML 转义,否则可能引发 XSS 或破坏表格结构。
数值对齐和格式控制靠 CSS,不是 <td> 属性<p><code>align、valign 这类 HTML 属性已废弃,用 text-align 和 vertical-align 替代:
<td style="text-align: right; vertical-align: middle;">99.9</td>
-
text-align: right 对数字更友好,避免左对齐导致小数点错位
-
vertical-align: middle 比默认的 baseline 更稳,尤其混排文字和图标时
- 批量控制建议写 CSS 类,比如
.num-cell { text-align: right; },别每个 <td> 都 inline 写<h3>空单元格要显式写 <code><td></td>,不能省略
text-align: right 对数字更友好,避免左对齐导致小数点错位vertical-align: middle 比默认的 baseline 更稳,尤其混排文字和图标时.num-cell { text-align: right; },别每个 <td> 都 inline 写<h3>空单元格要显式写 <code><td></td>,不能省略HTML 解析器不会自动补全缺失的 <td>。下面这行代码会导致表格错列:<pre class="brush:php;toolbar:false;"><tr>
<td>A</td>
<td>B</td>
</tr><!-- 缺第三个单元格 --></pre>
<p>正确做法是明确留空:</p>
<pre class="brush:php;toolbar:false;"><tr>
<td>A</td>
<td>B</td>
<td></td> <!-- 显式空单元格 -->
</tr></pre>
<p>如果想视觉上“隐藏”但保留结构,用 <code> 或 CSS visibility: hidden,但别删 <td> 标签本身。<h3>动态插入数值时注意字符串拼接和类型转换</h3>
<p>JS 拼接 <code><td> 时,数值类型会自动转字符串,但要注意:<ul>
<li>浮点数精度问题:<code>0.1 + 0.2 得到 0.30000000000000004,显示前建议用 toFixed(2) 或 Number(val).toLocaleString()
"true"/"false",如需显示为 ✔/✘,得手动映射`<td>${data.price}</td>` —— 若 data.price 是 null 或 undefined,会显示成文字 "null" 或 "undefined",应提前处理真正容易被忽略的是:表格结构一旦生成,再改 <td> 内容不会触发重排优化,大量更新时优先考虑 <code>DocumentFragment 或虚拟 DOM 批量操作。











