Javascript 在IE 11中,标记名返回带名称空间的大写名称,而IE 7返回不带名称空间的小写名称
我正在尝试将Dom元素中具有标记名的所有子元素检索到一个数组中Javascript 在IE 11中,标记名返回带名称空间的大写名称,而IE 7返回不带名称空间的小写名称,javascript,jquery,html,internet-explorer-11,xml-namespaces,Javascript,Jquery,Html,Internet Explorer 11,Xml Namespaces,我正在尝试将Dom元素中具有标记名的所有子元素检索到一个数组中 <xs:menu> <xs:submenu> </xs:submenu> </xs:menu> var item=menu.children.tags("XS:SUBMENU") ; IE 7 has menu.children[0].tagname as "submenu" IE 11 has menu.children[0].tagName as "XS:SUBMEN
<xs:menu>
<xs:submenu>
</xs:submenu>
</xs:menu>
var item=menu.children.tags("XS:SUBMENU") ;
IE 7 has menu.children[0].tagname as "submenu"
IE 11 has menu.children[0].tagName as "XS:SUBMENU"
var item=menu.children.tags(“XS:SUBMENU”);
IE 7具有menu.children[0]。标记名为“submenu”
IE 11具有menu.children[0]。标记名为“XS:SUBMENU”
如何使menu.children[0]。标记名返回相同的标记名?如果不关心名称空间,请使用
localName
属性,而不是标记名
。它不应该包含任何名称空间,而且我注意到它的大小写更加一致。只需添加.toUpperCase()
。至于获取名称空间,除了将其添加到自己的名称空间之外,您可能无能为力。它还返回“XS:”extra..您指的是前缀(不是后缀)或更准确地说是名称空间。这应该是HTML还是XML?(这很重要。)@Grasshopper:那是你的问题。HTML中没有子菜单
元素。localName返回小写,但在本例中带有命名空间,在ie 11中为“xs:submenu”,在ie 7中为“submenu”,因此IE11无法正确实现DOM4。我建议你向IE开发者报告这个bug。