IE和document.implementation.createDocument() -哪些参数影响正确的html节点
IE and document.implementation.createDocument() - which arguments effect correct html nodename case?
Chrome和Firefox喜欢document.implementation.createDocument()。IE9没有,它要求提供名称空间euri和文档元素名称。这意味着调用document.implementation. createdocument ('http://www.w3.org/1999/xhtml','html',null)之类的东西,但这会产生奇怪的效果,即生成不使用官方html元素nodeName case的html文档。它应该是全大写的,并且是一个普通的document.createElement("a")。IE9中的nodeName将返回"A"。使用document.impl…版本,[…].createElement("a")。nodeName返回"a"
哪个神奇的参数组合将影响具有正确大小写规则的文档?
(问题的原因:一百万个测试DOM片段的QUnit测试期望使用大写的节点名,并且会在使用这个非窗口元素工厂时到处抛出错误。这些测试都可以手动修复以忽略大小写,但如果有一种方法可以使IE正常工作,而不是假装小写元素名称是可以的(根据规范,它们不是),我会在进行手动修复之前接受这个
您需要使用createHTMLDocument方法,如下所示:
document.implementation.createHTMLDocument("").createElement("a").nodeName
(几乎符合DOM4规范)。
根据该规范,createDocument创建了一个XML文档,该文档不应该强制元素名称为大写。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 有没有办法在函数中重新分配参数,并让它也影响调用范围
- 参数在查询字符串中的位置如何影响页面
- 如何将参数传递给将影响模板angularjs选择的指令
- 对影响作为参数传递的全局数组的函数参数使用.shift()
- 函数参数数组,如何影响reference =[]或reference.concat(array2)
- 用Bootstrap row和col Div包装Div的函数不会影响传递的参数
- IE和document.implementation.createDocument() -哪些参数影响正确的html节点
- 函数中的其他参数会影响它吗
- 如何在不影响jquery回调的情况下将参数绑定到jquery回调
- Javascript通过中间件传递一些参数,不受影响