使用 jQuery 1.9.1 并创建类似于下面的 XML。它是根据页面上选中的复选框数组中的项目构建的。XML 结构为:
<MyXML>
<Msg>This is a test message.</Msg>
<MsgTime>2013-10-15 08:30:00.000</MsgTime>
<Locations>
<Location>Panel1</Location>
<Location>Panel2</Location>
<Location>Panel3</Location>
</Locations>
</MyXML>
单击提交按钮时,所有选中的复选框都被推送到一个数组中,然后我循环遍历该数组以创建<Location>
XML 节点。就在我遍历该数组之前,我找到并删除Location
了 XML 中的任何现有内容。
zXML.find("Location").remove();
for (var d=0; d < msgArr.length; d= d+ 1) {
var tmpLocNode = "<Location>" + msgArr[d].locID + "</Location>";
zXML.find("Locations").append( tmpLocNode );
}
在 FF 中,上面的代码效果很好。
但是,在 IE8 中,for 循环的最后一行:
zXML.find("Locations").append( tmpLocNode );
抛出错误,“对象不支持此属性或方法”并在 jquery.js 模块中的第 6470 行停止。那条线是:
tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2];
并且是在jquery 模块中的ELSE
一部分。// Convert html into DOM nodes
知道问题可能是什么吗?我怀疑是 IE8 不喜欢 XML,但不知道如何解决这个问题。将不胜感激任何反馈或想法,以更好地做我正在做的事情。
谢谢!