IE - JQuery 在 $.each 循环中将子节点附加到 XML

2023-12-29

我遇到了 IE 无法正确附加或识别我将子节点附加到解析的 XML 字符串的尝试的问题。 Chrome 和 Firefox 明白我正在尝试做什么。我不知道这是范围问题还是 IE 和 XML 的行为。

var dataContainers = $('[data-container]');
var containerXML = $.parseXML('<inlineSubmission><userid>'+userID+'</userid><guid>'+GUID+'</guid><contentField><![CDATA[FlexXML]]></contentField><content><containers></containers></content></inlineSubmission>');

$.each(dataContainers,function (key,value) {
var containerID = $(value).attr('id'),
        isVisible = $(value).is(':visible'),
        xmlFragment;

xmlFragment = '<container><name>'+containerID+'</name><visible>'+isVisible+'</visible></container>';

$(containerXML).find('containers').append(xmlFragment);
});

console.log(containerXML)

Chrome 和 Firefox 均正确返回:

<inlineSubmission><userid>55555</userid><guid>22222-222-2-22-222</guid><contentField><![CDATA[FlexXML]]></contentField><content><containers><container><name>heroContainer</name><visible>true</visible><bgcolor>undefined</bgcolor><textcolor>undefined</textcolor><subitem><name>contactInfo</name><visible>none</visible><location>undefined</location></subitem></container><container><name>contentContainer</name><visible>true</visible></container><container><name>cnmContainer</name><visible>true</visible></container><container><name>accountAccessContainer</name><visible>true</visible></container><container><name>promoContainer</name><visible>true</visible></container><container><name>contactContainer</name><visible>true</visible></container></containers></content></inlineSubmission>

当 IE 返回原始变量值时:

<inlineSubmission><userid>55555</userid><guid>22222-222-2-22-222</guid><contentField><![CDATA[FlexXML]]></contentField><content><containers /></content></inlineSubmission>

任何帮助,将不胜感激!


尝试替换$(containerXML.documentElement) for $(containerXML) .


$(containerXML)回报#document,有context of document , e.g.;

$(document).append("<p>abc</p>")

不会追加<p>abc</p> to <html> or <body>elements ,并且可能返回错误:

TypeError: Cannot read property 'createDocumentFragment' of null .


$(containerXML.documentElement)回报<inlinesubmission>元素 , 具有context of inlinesubmission

var userID = "abc", GUID = 123, containerID = 456, isVisible = true;

var xmlFragment = '<container><name>'
                  +containerID+'</name><visible>'
                  +isVisible+'</visible></container>';

var containerXML = $.parseXML('<inlineSubmission><userid>'
                              +userID+'</userid><guid>'
                              +GUID+'</guid><contentField><![CDATA[FlexXML]]>'
                              +'</contentField><content><containers></containers>'
                              +'</content></inlineSubmission>');

console.log($(containerXML)
            , $(containerXML.documentElement).find("containers"));

$(containerXML.documentElement).find("containers").append(xmlFragment);

$("body").append($(containerXML.documentElement));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IE - JQuery 在 $.each 循环中将子节点附加到 XML 的相关文章

  • Chart.js - 如何将数组集合推入数据集

    我一直在尝试多种方法将数组集合推送到数据集中 任何人都可以帮助我根据下面的代码将数组推入堆积图表中 这是例子 Codepen 堆叠栏 https codepen io narendrajadhav pen abzpWam JavaScrip
  • 如何获得相对于特定父级的偏移量?

    我想获取元素相对于的偏移量特定的父母不是直接的 也不是文档 我在互联网上查找并找到了offset http api jquery com offset and position http api jquery com position jQ
  • 将其作为参数传递给 addEventListener()

    我想添加change一组复选框的事件 我如何访问this在我的事件函数中 这样当我执行事件时我可以访问复选框的值 这是我当前的代码 var checkboxes document getElementsByClassName cb Arra
  • 将 javascript 放在 header 之外有多糟糕?

    这个问题几乎已经说明了一切 我开始添加一些功能到我的周末项目 http www my clock net 对于我和几个朋友来说 这是一个小应用程序 因为我们是交换生 所以它对我们来说有点有用 但事情是这样的 我在 php 中执行此操作并使用
  • 尝试使用 CasperJS 跟踪 iframe 中的链接

    我正在尝试使用CasperJS http casperjs org index html跟踪 iframe 中的链接 但我似乎无法获取 iframe 的文档 这是使用我找到的 iframe 示例页面进行的测试 第三个 iframe 有一个名
  • 从对象获取数据 - 我看到数据但无法保存它们

    正如你所看到的 我是新来的 我确实尝试过搜索 但没有找到解决我问题的方法 所以这是我的问题 如果我这样做 console log grid data kendoGrid data 这在控制台中显示如下 所以我明白这一点 有一个数组和一个带有
  • 标记内的值发生变化时调用函数

    JavaScript 有没有什么方法可以在段落标记的值更改时调用函数 概述 HTML p 00 00 p
  • 横向模式下视频视图不是全屏

    我正在使用用 xml 设计的视频视图 该视频在纵向模式下为全屏 但当切换到横向模式时 它会左对齐 并且宽度和高度都会换行 而不是全屏 我参考了这些 但仍然没有解决这个问题 全屏视频视图未居中 https stackoverflow com
  • 元素在主体内找不到足够的空间 - JavaScript 样式

    相关信息 该页面包含两个元素 An
  • 根据数据更改图例颜色高图表

    我可以根据数据动态设置列的颜色 但无法弄清楚如何更改图例中的颜色 请注意 jsfiddle 最新的条形图是绿色的 但图例是蓝色的 有没有办法改变列颜色也会改变图例颜色 这是我用于列颜色的代码 jsfiddle http jsfiddle n
  • 如何在 Next.js 中正确使用 Mongoose 模型?

    我正在使用 TypeScript 和 MongoDB Mongoose 构建 Next js 应用程序 我在使用 Mongoose 模型时开始遇到错误 这导致它们在每次使用模型时都尝试覆盖模型 导致模型覆盖错误的代码 import mong
  • XML 模式文件中 xs 和 xsd 之间的区别?

    两者有什么区别xs and xsdXML 模式文件中的前缀 From w3 org 上的 XSD 1 0 规范 http www w3 org TR xmlschema 1 Instance Document Constructions 模
  • 你调用的对象是空的。 IE问题

    我在 ASP Net 中开发了一个网站 它在除 IE 之外的所有浏览器中都能正常工作 在 IE 中我收到错误 对象引用未设置为对象的实例 在我的本地计算机中一切正常 发布到服务器后出现错误 有什么想法如何解决这个问题吗 这是我得到的堆栈跟踪
  • 加载 angularjs 路由后运行 javascript 代码

    我需要在 angularjs 加载路线后显示警报 显示警报的代码位于 angularjs 异步加载的视图中 视图加载后 我希望它能够运行 但它没有 我知道我可以广播并告诉它稍后运行等 但我需要一个更通用的解决方案 假设您正在谈论基于以下内容
  • 如何使用 jQuery 获取 div 完整内容的高度?

    我正在尝试创建自己的滚动条 我已经尝试了大多数 jquery 滚动条插件 但似乎没有一个适合我 所以我决定创建自己的 我有一个带有可滚动内容的溢出区域 如果我能够计算出可滚动内容区域的高度 我就可以使滚动条正常工作 我尝试过 scrollH
  • onClick 事件适用于触摸屏设备上的触摸吗?

    我用过onclick我的网站上的活动 但是 当我在谷歌浏览器的开发人员模式移动视图中打开它时 触摸使用鼠标单击的元素没有任何反应 所以我的问题是 我还必须添加吗ontouch事件连同onclick事件或 onClick 事件适用于所有触摸屏
  • Modernizr 未将类应用于 html 标签

    我目前正在构建一个网站 我需要使用 Modernizr 但由于某种原因 它没有将类应用到 html 标签 因为它应该 我的代码如下所示
  • .parents() 没有 jquery - 或 querySelectorAll 为父母[重复]

    这个问题在这里已经有答案了 可能的重复 使用 matchesSelector js 检查 event target parentElement https stackoverflow com questions 12977658 check
  • 自动更改 Twitter Bootstrap 选项卡

    我希望 Twitter Bootstrap 选项卡按时间顺序更改 我使用它们有点像旋转木马 我希望选项卡每 10 秒切换到下一个选项卡 这是一个例子 http library buffalo edu http library buffalo
  • 在 Map() 的条目上使用 Promise.all

    我正在使用 Map 来表示一些键 值对 let myMap new Map myMap set foo bar myMap set foo2 bar42 对于每个 Map 条目 我执行一个返回 Promise 的函数 所有这些 Promis

随机推荐