我使用Firefox 3.5。我的doctype是XHTML 1.0 Strict。假设我想插入一个图像到ID为“foo”的div中;那么我可以尝试:XHTML DOM操作与jQuery
var foo = $('#foo');
foo.html('<img src="bar.gif" />');
这确实会添加图像。但我注意到,这在文档的后面引起了一些奇怪的行为,我怀疑这可能是由于XHTML的破坏。果然,使用Firefox的Web开发工具,我查了生成的源代码,并震惊地发现脚本运行后,我有:
<div id="foo"><img src="bar.gif"></div>
凡img标签做了结尾的斜线去!?搜索周围,我发现这不是一个jQuery特定的问题:纯JavaScript代码
document.getElementById('foo').innerHTML = '<img src="bar.gif" />';
产生相同的结果。所以我该怎么做?我应该注意使用扩展表格
<img src="bar.gif"></img>
不影响结果。如何使用JavaScript将严格有效的XHTML插入到我的文档中?
原来,我观察到的奇怪行为是无关的。但是lhnz对于MIME类型是绝对正确的。事实证明,当使用text/html时,Firefox在内部剥离了不必要的结束斜线,因此Web Developer显示的生成源反映了这一点。故事的道德:将application/xhtml + xml提供给支持它的浏览器,并将text/xhtml提供给其他人。 – 2009-08-04 16:16:50