jQuery - 在使用 append() 附加子节点时 - 附加的 xml 标签在 Internet Explorer 11 中被转换为小写

jQuery - On appending child node using append()- appended xml tags are converted to lowercase in Internet Explorer 11

问题陈述:

我正在尝试在 IE 浏览器中使用 jQuery 使用 append() 将子节点附加到父 XML 节点。 在尝试时,我发现 append() 不会将任何元素添加到 XML 节点中,并且子节点返回为空。

在进行故障排除时,我发现这是 IE 的一个已知问题,我在此处 post - IE - JQuery appending child nodes to XML in $.each loop.

找到了这个问题

使用此 post 中建议的解决方案后,我现在可以将子节点附加到父节点。 但是子节点的XML标签都是小写的,如下图:

当前结果:

<Content>
     <ParentNode>
          <childrennode>
               <child1>true</child1>
               <child2>Hello</child2>
          </childrennode>
     </ParentNode>
</Content>

预期结果

<Content>
     <ParentNode>
          <ChildrenNode>
               <Child1>true</Child1>
               <Child2>Hello</Child2>
          </ChildrenNode>
     </ParentNode>
</Content>

var contentXML =('<Content><ParentNode></ParentNode></Content>');
var node = $.parseXML(contentXML)
var nodeXML = $(node).find('Content > ParentNode');
var value1 = true;
var value2 = "Hello";
var childNodeinIE = $('<ChildrenNode><Child1>' + value1 + '</Child1>'+ '<Child2>'+ value2 +'</Child2>'+'</ChildrenNode>');
nodeXML.append(childNodeinIE);
console.log($(nodeXML).find("Content > ParentNode > ChildrenNode").text());
console.log($(nodeXML).find("Content > ParentNode > childrennode").text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>

我知道我也可以使用:

 $(contentXML).find("Content > ParentNode > ChildrenNode > Child1").text(value1);

但是,我想追加它并且不想覆盖这些值。

有人可以建议如何保留预期结果中显示的 XML 标签吗?

为了在 IE 中运行,我必须使用 appendTo()。

例如:

childNodeinIEXML = $($.parseXML(childNodeinIE)).find("ChildrenNode");
childNodeinIEXML.appendTo(nodeXML)