Javascript IE和document.implementation.createDocument()-哪些参数影响正确的html节点名大小写?

Javascript IE和document.implementation.createDocument()-哪些参数影响正确的html节点名大小写?,javascript,dom,internet-explorer-9,Javascript,Dom,Internet Explorer 9,类似于Chrome和Firefox的document.implementation.createDocument()。IE9没有,它要求提供名称空间URI和文档元素名称。这意味着调用document.implementation.createDocument(“”,'html',null)之类的东西,但这会产生一种奇怪的效果,即生成一个不使用正式html元素nodeName case的html文档。它应该是全大写的,一个普通的document.createElement(“a”).IE9中的no

类似于Chrome和Firefox的document.implementation.createDocument()。IE9没有,它要求提供名称空间URI和文档元素名称。这意味着调用document.implementation.createDocument(“”,'html',null)之类的东西,但这会产生一种奇怪的效果,即生成一个不使用正式html元素nodeName case的html文档。它应该是全大写的,一个普通的document.createElement(“a”).IE9中的nodeName将返回“a”。正在使用document.impl。。。版本[…]。createElement(“a”)。节点名返回“a”

哪种神奇的参数组合会影响一个具有正确案例规则的文档


(问题的原因:测试DOM片段的一百万个QUnit测试需要大写的节点名,并且会在这个没有窗口的元素工厂中到处抛出错误。这些测试都可以手动修复以忽略大小写,但是如果有办法使IE正常工作,而不是假装小写的元素名是可以的,那么它们就不是了ng到规范-在手动修复之前,我将使用它。

您将需要使用createHTMLDocument方法,如下所示:

document.implementation.createHTMLDocument("").createElement("a").nodeName
(几乎符合实际情况)

根据该规范,createDocument创建一个XML文档,该文档不应强制元素名称为大写