You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery为何将<br/>转换为<br>?HTML5页面技术问题咨询

为啥加载HTML后<br/>变成了<br>?

嘿,这个现象完全是HTML5规范的正常操作,一点都不奇怪,我给你唠明白背后的原因:

  • HTML5对空元素的统一规范:像<br>、<img>这种没有闭合内容的“空元素”,HTML5允许两种写法——XML风格的<br/>和原生HTML的<br>。当浏览器把你输入的HTML文本解析成DOM对象时,会自动按照HTML5的标准格式做规范化处理,把空元素标签里的斜杠去掉,所以你看到的DOM对象里就变成了<br>。

  • DOM存储的是结构而非原始字符串:DOM内部存的是元素的结构信息,不是你输入的原始文本。当你后续要获取元素的HTML表示(比如用outerHTML),浏览器会按照标准HTML语法重构输出,而不是保留你一开始写的带斜杠的格式。

给你段代码验证下就懂了:

// 你加载的原始HTML文本
const rawHtml = '<p>第一行<br/>第二行</p>';
// 创建容器加载内容
const wrapper = document.createElement('div');
wrapper.innerHTML = rawHtml;
// 查看解析后的br元素
console.log(wrapper.querySelector('br').outerHTML); 
// 输出肯定是 "<br>" 而非 "<br/>"

放心哈,这不是啥问题,两种写法功能完全等价,不管是渲染还是后续DOM操作都不受影响,就是浏览器在帮你做规范统一而已~

内容的提问来源于stack exchange,提问作者Kevin Lindmark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:29:14