jQuery替换<br/>与<br/>

时间:2014-09-23 12:41:53

标签: jquery

使用<br/>函数时,为什么jQuery会将<br>替换为.html()

当我尝试执行以下操作时:

var q = $('<div></div>');
q.html('a<br/>b');

控制台中的结果将是

<div>
"a"
<br>
"b"
</div>

为什么会这样?如何禁用此“功能”?我正处于

的境地
  • 标签不以/&gt;结尾被视为双重

  • 未封闭的双(对)标签导致不好的事情

非常感谢您的建议!

编辑:我正在使用jQuery 2.0.3

2 个答案:

答案 0 :(得分:0)

在非XHTML文件中,正确的表单 <br>,而不是<br/>

  

标记省略:必须有一个开始标记,并且不能有结束标记。在XHTML中   文档,将此元素写为<br/>

MDN Reference

答案 1 :(得分:0)

当您向jQuery()函数提供HTML字符串时,它会使用浏览器的HTML解析器将其转换为DOM元素。当您稍后查看它时,您将获得浏览器使用的规范表单,这可能与您最初使用的表示形式不同。由于<br><br/>是等效的,因此浏览器会将它们解析为相同的DOM。关于您最初使用哪种表格的信息在此翻译中丢失。