我使用jquery生成html内容,但它不会生成/>。它生成>代替。
$("#myDiv").append('<img src="nothing.jpg" alt="image" />');
this generates:
<img src="nothing.jpg" alt="image">
as you can see it has no />, but > instead
因此,我无法通过XHTML验证器获得它。
有什么方法可以生成/&gt; ?
如果没有,如果我没有它,这是一个大问题吗?
答案 0 :(得分:1)
jQuery不会生成HTML。它将修改DOM。
然后,您可以使用innerHTML
(可能通过jQuery(...).html()
)或DOM检查器将DOM序列化为HTML。
如果您处于HTML模式(即文档作为text/html
提供),那么您将获得HTML。
如果您将文档作为XHTML(即使用Content-Type: application/xhtml+xml
)提供,浏览器可能会为您提供XHTML,但在HTML模式下,它们不提供生成XHTML的方法。
如果没有,如果我没有它,这是一个大问题吗?
这是一笔巨款。标记将不会很好地形成,XML解析器将抛出错误并停止。
我建议使用HTML而不是XHTML。
如果你想要定位XML解析器,那么生成HTML并将其传递给可以解析HTML并输出XHTML的服务器端。