无效标签封闭包装问题

时间:2014-01-25 16:23:02

标签: jquery html

这是我第一个问题的第二部分: https://stackoverflow.com/questions/21352305/jquery-html-method-tags-auto-closure-issue-void-tags?noredirect=1#comment32194709_21352305 如果我使用:

var xml='<parameter name="lg2CacheSize" description="Vex cache size" type="integer" min="12" max="12"/><parameter name="lg2CacheSize" description="Vex cache size" type="integer" min="12" max="12"/>'
$("#dummydiv").html(xml);

为什么浏览器将元素包装在一起?

所以不要解析像

<parameter></parameter>
<parameter></parameter>

它像

一样解析
<parameter><parameter></parameter></parameter>

如何在第一个实例中解析?

http://fiddle.jshell.net/h6dLK/3/,检查黑色Div以观看dom树。

1 个答案:

答案 0 :(得分:2)

它正在尝试将XML解析为(无效)HTML,其中<foo />表示“带有尾随/的开始标记”而不是“空元素标记”。

它在末尾添加了结束标记,因为它已经到达字符串的末尾,两个打开的元素仍然打开。

如果要解析XML,请使用DOMParser。不要试图像HTML那样对待它。