1
这发生在Firefox,而不是在谷歌浏览器。document.createElement()创建未封闭标签?
我创建一个SVG“图像”在SVG的Web canvas标签是这样的:
im = document.createElementNS(svgns, 'image');
im.setAttributeNS(xlinkns, 'href', g.href);
canvas.appendChild(im);
如果我期待在Firebug或Chrome的调试器,SVG的显示了自我封闭是这样的:
<image xlink:href="..." />
但是,如果我再打印的父svg元素的innerHTML
,它返回:
<svg><image xlink:href="..."></svg>
请注意,图像标记现在未关闭,这会导致错误消失。我发现了一个错误,或者我做错了什么?而且,可能要困难得多,JavaScript有检查和修复标签的方法吗?
我知道。尽管如此,它在HTML查看器中以第一种方式显示,而且默认实现不应该是“正确”的吗?如果这是有意的,这是不是意味着JavaScript DOM方法对于XHTML并不真正起作用? – colinmarc 2010-06-04 19:25:33
该工具会显示这并不意味着有关数据将如何走出来的innerHTML的一切的好办法。 Firebug是一个与Firefox完全分离的项目。你究竟想要完成什么?你想确认这是否是一个错误?你想用innerHTML中的数据做些什么吗?这并不是说的innerHTML生成一个未关闭的标签,它是HTML不仅不需要/>它不允许,所以Firefox是从它的文字属性提供有效的HTML。 – lambacck 2010-06-04 19:34:55
你的编辑引导我进入innerDom包,这是我想要的,我想。谢谢 – colinmarc 2010-06-04 19:50:16