Chrome 和 Firefox 类似 document.implementation.createDocument()。IE9 没有,它要求提供 namespaceURI 和文档元素名称。这意味着调用类似 document.implementation.createDocument(' http://www.w3.org/1999/xhtml ','html',null) 之类的东西,但这具有生成不使用官方 HTML 元素 nodeName 案例。它应该是全大写的,IE9 中的普通 document.createElement("a").nodeName 将返回“A”。使用 document.impl... 版本, [...].createElement("a").nodeName 返回“a”。
哪种神奇的论点组合会影响具有正确案例规则的文档?
(问题的原因:一百万个测试 DOM 片段的 QUnit 测试需要大写的节点名,并且会在这个非窗口元素工厂的整个地方抛出错误。这些测试都可以手动修复以忽略大小写,但如果有办法为了使 IE 正常运行,而不是假装小写元素名称是可以的——根据规范,它们不是——我会在手动修复之前接受它)。